Commit Graph

434 Commits

Author SHA1 Message Date
Riley Testut
d221c95b6f [AltServer] Includes underlying installation error in error response 2020-06-07 09:48:53 -07:00
Riley Testut
761282baf0 [AltKit] Gracefully fails if no data is received over network connection 2020-06-05 15:43:05 -07:00
Riley Testut
7a9dfdfe5e Improves error messages when there’s an underlying error 2020-06-05 15:32:10 -07:00
Riley Testut
fb3a96a511 [AltDaemon] Synchronizes AppManager operations
Installing and removing apps is now done on a serial dispatch queue, and installing/removing profiles uses file coordination.
2020-06-05 14:35:05 -07:00
Riley Testut
fb1e6e059a [AltKit] Includes underlying error in error response 2020-06-05 14:19:40 -07:00
Riley Testut
b5b3887348 [AltDaemon] Adds explicit autoreleasepool to main.swift 2020-06-05 14:13:09 -07:00
Riley Testut
4311db2cf7 Supports installing/refreshings apps w/o computer on jailbroken devices
AltStore will use AltDaemon as a local AltServer if it’s installed and running. AltStore remains a regular sandboxed app, but AltDaemon has private entitlements necessary to perform AltServer operations without a computer.
2020-06-04 19:53:10 -07:00
Riley Testut
6f075e7ac4 [AltDaemon] Initial version
AltDaemon allows AltStore to install and refresh apps without a computer on jailbroken devices. AltDaemon has the necessary entitlements to perform the same actions AltServer normally does over WiFi, and uses the same AltServer request logic to handle local requests.
2020-06-04 19:48:02 -07:00
Riley Testut
ee3a2eec35 [AltServer] Moves core ConnectionManager logic to AltKit
Refactors ConnectionManager to use arbitrary RequestHandlers and ConnectionHandlers. This allows the core AltServer request logic to be shared across different targets with different connection types.
2020-06-04 19:06:13 -07:00
Riley Testut
4cd3ede535 Updates apps.json for 1.3.4 2020-05-27 10:11:02 -07:00
Riley Testut
9318dadbd4 [AltServer] Updates app version to 1.3.2 2020-05-27 10:10:32 -07:00
Riley Testut
f8dfef9f2b [AltServer] Improves error message when device is untrusted or locked during installation 2020-05-21 22:06:18 -07:00
Riley Testut
2bb47798dd [AltServer] Suggests disabling “Offload Unused Apps” in error message
iOS 13.5 counts offloaded apps as active sideloaded apps (for some reason), so improve error messages to mention this.
2020-05-21 22:04:24 -07:00
Riley Testut
f8b8381129 Updates app version to 1.3.4 2020-05-19 20:10:55 -07:00
Riley Testut
0124c60680 [AltServer] Updates app version to 1.3.1 2020-05-19 20:09:50 -07:00
Riley Testut
f6854dca3c [AltServer] Supports app groups when installing AltStore
Necessary for (de-)activation to work as expected in AltStore 1.3.4.
2020-05-19 18:30:53 -07:00
Riley Testut
c06d7d636a Adds option to explicitly back up installed apps 2020-05-19 11:47:43 -07:00
Riley Testut
1ab36874be Fixes “invalid entitlements” when refreshing AltStore
Replaces “resigned” app group ID with “base” app group ID before resigning AltStore.
2020-05-18 16:00:08 -07:00
Riley Testut
fcc1cea73a Limits new (de-)activation flow to 13.5 or later 2020-05-18 00:04:09 -07:00
Riley Testut
b2c09049be Adds altstore://install?url=[link] deep link to install remote .ipa’s 2020-05-17 23:47:26 -07:00
Riley Testut
47d206ad19 Removes active app extension limits on 13.5 or later 2020-05-17 23:47:26 -07:00
Riley Testut
1d03ead09f [AltServer] Adds wired connection reading timeout 2020-05-17 23:47:26 -07:00
Riley Testut
7cd01b97bb Uses real app icon for AltBackup icon 2020-05-17 23:47:26 -07:00
Riley Testut
c895ebb1a2 [AltBackup] UI reflects whether backup/restore/nothing is happening 2020-05-17 23:47:26 -07:00
Riley Testut
9d3621a872 Adds option to manually restore backup for active apps that have one 2020-05-17 23:47:26 -07:00
Riley Testut
b79051e247 Adds option to export backups for inactive apps 2020-05-17 23:47:26 -07:00
Riley Testut
c968f15181 Activates apps by reinstalling then restoring backup on iOS 13.5+
To activate an inactive app that has been deleted from the phone, AltStore will reinstall the app, as well as restore any app data from when it was deactivated.
2020-05-17 23:47:26 -07:00
Riley Testut
46469838f8 Deactivates apps by backing up + deleting them on iOS 13.5+
Deactivating apps by removing their profiles no longer works on iOS 13.5. Instead, AltStore will now back up the app by temporarily replacing it with AltBackup, then remove the app from the phone.
2020-05-17 23:47:26 -07:00
Riley Testut
75d1084b5f Supports removing inactive apps from My Apps 2020-05-17 23:47:26 -07:00
Riley Testut
faa93a6aa0 Adds RemoveAppBackupOperation to remove backed up app data 2020-05-17 23:47:26 -07:00
Riley Testut
407a259221 Adds RemoveAppOperation for removing inactive apps 2020-05-17 23:47:26 -07:00
Riley Testut
dafc87d899 Fixes updating App IDs with no app groups 2020-05-17 23:47:26 -07:00
Riley Testut
92781d3380 Adds BackupAppOperation to backup and restore app data 2020-05-17 23:47:26 -07:00
Riley Testut
775f0e67e1 Adds option to not cache downloaded app during installation 2020-05-17 23:47:26 -07:00
Riley Testut
a61fb32eb8 [AltBackup] Derives backup location from original bundle ID, not resigned one
Allows the backup to be used even if the app is later installed with a different developer team.
2020-05-17 23:47:26 -07:00
Riley Testut
3ac2beecfc Embeds original bundle ID under ALTBundleIdentifier Info.plist key 2020-05-17 23:47:26 -07:00
Riley Testut
0311e15d84 [AltBackup] No longer assumes AltStore app group is first in ALTAppGroups 2020-05-17 23:47:26 -07:00
Riley Testut
973cede232 Supports resigning apps with multiple app groups 2020-05-17 23:47:24 -07:00
Riley Testut
89fba9f3ad Fixes missing error descriptions when using NSError.withLocalizedFailure() 2020-05-15 14:54:46 -07:00
Riley Testut
38744a1792 Adds initial AltBackup app
When deactivating an app, AltStore will first install AltBackup in its place. This allows AltBackup to access the (soon to be) inactive app’s sandbox, and backup all files to a shared app group with AltStore. Later when activating, AltStore will again install AltBackup and use it to restore files before installing the actual app again.
2020-05-15 14:54:46 -07:00
Riley Testut
f9b1208e73 Replaces ConnectionError.errorDescription with .failureReason
Improves error messages where ConnectionError was the underlying failure, but not the main error.
2020-05-15 14:54:46 -07:00
Riley Testut
f384ac8d63 [AltServer] Uses empty strings in place of nil error messages 2020-05-15 14:54:46 -07:00
Riley Testut
7d2dad1ebc Adds additional checks before considering apps deleted 2020-05-15 14:54:46 -07:00
Riley Testut
5ac442638c Supports custom entitlements when fetching provisioning profiles 2020-05-15 14:54:43 -07:00
Riley Testut
c0b9e798c9 Fixes RefreshGroup strong reference cycle 2020-05-14 16:31:23 -07:00
Riley Testut
f5b084f93d [AltServer] Supports “remove app” requests
Improves support for removing apps
2020-05-14 16:31:23 -07:00
Riley Testut
6ba1b3fdbc [AltServer] Renames NSError+ALTServerError category methods to avoid runtime conflicts 2020-05-11 14:33:53 -07:00
Riley Testut
296af970df Updates apps.json and apps-alpha.json 2020-05-09 12:53:12 -07:00
Riley Testut
973ae7de52 Updates apps.json 2020-05-08 18:27:54 -07:00
Riley Testut
e08646a337 Fixes updating DolphiniOS due to mismatched bundle IDs
Manually sets Dolphin’s CFBundleIdentifier to match the source bundle ID to prevent breaking updates for existing users.
2020-05-08 11:45:23 -07:00