Commit Graph

54 Commits

Author SHA1 Message Date
Riley Testut
2157d95c56 Fixes serial operations not running in FIFO order
Ensures AltStore is always the last app to be refreshed, which matters when AltStore needs to be resigned and reinstalled (such as when using AltDaemon on iOS 14).
2021-03-01 12:45:57 -06:00
Riley Testut
729b2a1f0d Limits iOS 14 AltDaemon workaround to only when using AltDaemon
Refreshing with AltServer while jailbroken will now continue using provisioning profiles, but AltDaemon will still reinstall apps instead of just refreshing them.
2021-03-01 12:41:33 -06:00
Riley Testut
a3318b1253 Fixes AltDaemon untrusting apps on iOS 14
Refreshing with provisioning profiles causes apps to become untrusted on iOS 14 or later. As a (hopefully) temporary workaround, we instead now always re-install apps to refresh them on iOS 14+ jailbroken devices, which does still work as expected.
2021-02-26 21:08:10 -06:00
Riley Testut
546db3fa23 Adds ability to change sideloaded app icons 2020-10-01 14:09:45 -07:00
Riley Testut
12f33c355a Adds InstalledApp.needsResign
When true, app will be resigned + reinstalled next refresh rather than just refreshing provisioning profiles.
2020-10-01 11:52:26 -07:00
Riley Testut
5abf7a5a11 [AltWidget] Initial version 2020-09-15 14:27:22 -07:00
Riley Testut
5df4169a1b Refines AppManager Combine pipeline 2020-09-10 11:27:44 -07:00
Riley Testut
e70c51e36c Updates UI when refreshing apps with Siri 2020-09-08 13:12:40 -07:00
Riley Testut
0256079738 Supports refreshing apps with Siri on iOS 14 2020-09-08 12:29:44 -07:00
Riley Testut
f1a39e1a1f [AltStoreCore] Refactors core AltStore logic into AltStoreCore framework
AltStoreCore will contain all shared AltStore code between AltStore and any app extensions. Initially, it includes all AltStore model logic.
2020-09-03 16:39:08 -07:00
Riley Testut
e75d184194 [AltKit] Replaces dedicated AltKit module with shared files across targets
Treating AltKit as a full module resulted in more complexity than necessary, when we really just wanted to share some files between different targets. Now we can share individual files across modules as-needed without AltKit overhead.
2020-09-03 15:35:29 -07:00
Riley Testut
4c3d33efdc Shows source errors in SourcesViewController 2020-08-27 16:39:03 -07:00
Riley Testut
b7564207b3 Improves error handling when fetching multiple sources
Fetching sources is no longer all or nothing. Now if a source cannot be fetched, it won’t prevent other sources from being updated.
2020-08-27 16:28:13 -07:00
Riley Testut
496aca642c 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
fff128e1ce Adds option to explicitly back up installed apps 2020-05-19 11:47:43 -07:00
Riley Testut
8bd4e25b7f Uses real app icon for AltBackup icon 2020-05-17 23:47:26 -07:00
Riley Testut
60abb9ee07 Adds option to manually restore backup for active apps that have one 2020-05-17 23:47:26 -07:00
Riley Testut
de34e077ce 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
2d87c396f1 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
19bf19350e Supports removing inactive apps from My Apps 2020-05-17 23:47:26 -07:00
Riley Testut
7c9d8bd90d Adds option to not cache downloaded app during installation 2020-05-17 23:47:26 -07:00
Riley Testut
a0b5d6d8ae Adds additional checks before considering apps deleted 2020-05-15 14:54:46 -07:00
Riley Testut
484742885f Supports custom entitlements when fetching provisioning profiles 2020-05-15 14:54:43 -07:00
Riley Testut
76008022e7 Redownloads missing cached apps when refreshing or updating 2020-05-08 11:43:34 -07:00
Riley Testut
25477422a9 Adds print statement when deleting cached apps 2020-05-07 13:10:01 -07:00
Riley Testut
bab1fcb7bc Asks user for permission before installing apps with private entitlements 2020-05-02 22:06:57 -07:00
Riley Testut
1b89b81de0 Enables sideloading for public versions 2020-04-01 13:26:22 -07:00
Riley Testut
193ca28c98 Adds VS App Center analytics + crash reporting
Currently tracks install, refresh, and update app events.
2020-03-31 14:31:34 -07:00
Riley Testut
4e29c7a38c Fixes RefreshAltStoreViewController never finishing 2020-03-30 15:23:20 -07:00
Riley Testut
a90c0c05a0 Adds initial support for 3rd party Sources 2020-03-24 13:27:44 -07:00
Riley Testut
590ce5c928 Deletes cached apps after they’ve been uninstalled from device 2020-03-23 12:12:49 -07:00
Riley Testut
0d735431e9 Fixes endless refreshing if error occurs when legacy refreshing 2020-03-19 11:53:53 -07:00
Riley Testut
800dd79c30 Migrates from Core Data model v4 to v5 2020-03-11 17:29:32 -07:00
Riley Testut
bc02cfc8a9 Adds support for activating and deactivating apps
iOS 13.3.1 limits free developer accounts to 3 apps and app extensions. As a workaround, we now allow up to 3 “active” apps (apps with installed provisioning profiles), as well as additional “inactivate” apps which don’t have any profiles installed, causing them to not count towards the total. Inactive apps cannot be opened until they are activated.
2020-03-11 15:49:26 -07:00
Riley Testut
4f00018164 Refreshes apps by installing provisioning profiles when possible
Assuming the certificate used to originally sign an app is still valid, we can refresh an app simply by installing new provisioning profiles. However, if the signing certificate is no longer valid, we fall back to the old method of resigning + reinstalling.
2020-03-06 17:34:18 -08:00
Riley Testut
a763f469e1 Adds support for sideloading unc0ver 2020-02-11 13:29:28 -08:00
Riley Testut
5045c1057a Improves App ID counting + management
Fetches App ID count directly from Apple, and adds AppIDsViewController to view all App IDs for the logged-in account.
2020-02-10 17:30:11 -08:00
Riley Testut
301d7261c2 Fixes “Device Already Registered” error 2020-01-21 15:12:48 -08:00
Riley Testut
c2048f3814 Prevents deleting legacy sideloaded apps 2020-01-13 11:22:40 -08:00
Riley Testut
2615e217b3 Falls back to using canOpenURL to detect AltStore/Delta/Clip installs 2020-01-13 10:17:38 -08:00
Riley Testut
e0a899ee9a Fixes session expiring when downloading apps on slow connection 2020-01-08 12:41:02 -08:00
Riley Testut
e3ea200ad5 Uses UTIs to determine whether apps are installed or not
AltStore now inserts an app-specific UTI when resigning apps, and it periodically checks whether that app has been deleted by checking whether UTTypeCopyDeclaration returns nil for the same app-specific UTI.
2019-12-17 19:17:45 -08:00
Riley Testut
ae5ba81138 Fixes increasing app size when refreshing
We now delete temporary directory + resigned .ipa before installation is complete to ensure AltStore doesn’t quit before we have the chance to.
2019-12-11 12:26:48 -08:00
Riley Testut
691e08202d [AltStore] Uses GrandSlam Authentication
Retrieves anisette data from AltServer so we can authenticate with GSA.
2019-11-18 14:49:17 -08:00
Riley Testut
e785fc47ee Fixes issue where AltStore revokes its own certificate
Uses embedded certificate from AltServer if possible, but then falls back to asking user to refresh AltStore manually if the certificate used to install AltStore is revoked.
2019-10-28 13:16:55 -07:00
Riley Testut
3195a3f65d Presents notification when AltStore is about to expire 2019-09-21 22:31:10 -07:00
Riley Testut
502a5488b0 Adds support for installing AltStore beta from AltStore 2019-09-12 13:04:15 -07:00
Riley Testut
839b0b95fc Authenticates before checking for AltServers
This means Auth flow is presented even when AltServer is not nearby.
2019-09-10 12:19:46 -07:00
Riley Testut
0c1f469dfa Prioritizes AltServer that originally installed AltStore over others 2019-09-04 10:45:24 -07:00
Riley Testut
7727a0b725 [AltStore] Renames App to StoreApp 2019-07-31 14:07:00 -07:00