Commit Graph

798 Commits

Author SHA1 Message Date
Riley Testut
09ad29a372 Verifies downloaded app’s version matches source 2024-12-26 21:15:29 +05:30
Riley Testut
5e4feabc36 Replaces OperationError.cancelled with CancellationError
Keeps `OperationError.cancelled` around for source-compatibility, but now returns CancellationError() instead of OperationError.
2024-12-26 21:15:29 +05:30
Riley Testut
67ac0eb400 Verifies downloaded app’s SHA-256 checksum (if specified) 2024-12-26 21:15:29 +05:30
Riley Testut
3f6cecf3ec Moves VerificationError to its own source file 2024-12-26 21:15:29 +05:30
Riley Testut
e459cc00aa Removes Psychic Paper support from VerifyAppOperation 2024-12-26 21:15:29 +05:30
Riley Testut
c72d067403 [AltStoreCore] Renames AsyncManaged.get() to perform()
Implies it can be used as alternative to managedObject.managedObjectContext.perform() and not just for retrieving values.
2024-12-26 21:15:29 +05:30
Riley Testut
a567c63582 Updates app version to 2.0b1 🎉 2024-12-26 21:15:29 +05:30
Riley Testut
b3d67655ad [Apps-Alpha] Updates AltStore to 2.0a1 2024-12-26 21:15:29 +05:30
Riley Testut
a4bafb934e [Apps-Alpha] Updates to match AltStore 2.0b1 JSON format 2024-12-26 21:15:29 +05:30
Riley Testut
1c32487ff7 Fixes PillButton not respecting progressTintColor under certain conditions 2024-12-26 21:15:29 +05:30
Riley Testut
9dfc56d0fd Removes unused NavigationBar.backgroundColorView 2024-12-26 21:15:29 +05:30
Riley Testut
1708b5409a Defines explicit error codes for OperationError.Code cases 2024-12-26 21:15:29 +05:30
Riley Testut
14ad785cd3 Fixes tapping buttons underneath navigation bar on SourceDetailViewController/AppViewController 2024-12-26 21:15:29 +05:30
Riley Testut
ad92cb6c42 Dynamically disables interactive back gesture when viewing source header image
Only disables gesture if touches are within headerContainerView to ensure back gesture works as expected majority of the time.
2024-12-26 21:15:29 +05:30
Riley Testut
626cd8b814 Updates AppViewController to use UINavigationBarAppearance APIs
Fixes visual bugs when transitioning to/from SourceDetailViewController.
2024-12-26 21:15:29 +05:30
Riley Testut
ed2f750b7b Supports adding/removing source from SourceDetailViewController 2024-12-26 21:15:29 +05:30
Riley Testut
653b84376a Opens source’s website in-app upon tapping link in SourceHeaderView 2024-12-26 21:15:29 +05:30
Riley Testut
a0991f21eb Supports viewing all NewsItems and StoreApps for a source 2024-12-26 21:15:29 +05:30
Riley Testut
9265fd5a5d Shows detailed source “About” page when adding 3rd-party sources
Allows users to preview sources before adding them to their AltStore.
2024-12-26 21:15:29 +05:30
Riley Testut
a3e67a9adb Refactors SourcesViewController from Main.storyboard to new Sources.storyboard
Also refactors BannerCollectionViewCell to AppBannerCollectionViewCell to support initializing from code.
2024-12-26 21:15:29 +05:30
Riley Testut
f89562eab9 Fixes CollapsingTextView “TextKit 1 compatibility mode” runtime warning 2024-12-26 21:15:29 +05:30
Riley Testut
403b34c39c Fixes error fetching Friend Zone patrons due to unexpected nil name 2024-12-26 21:15:29 +05:30
Riley Testut
b12e33d5c9 Removes unnecessary @available annotations 2024-12-26 21:15:29 +05:30
Riley Testut
ae11777359 Removes unnecessary #available checks 2024-12-26 21:15:29 +05:30
Riley Testut
f892be0019 Fixes UIApplication.setMinimumBackgroundFetchInterval() deprecation warning 2024-12-26 21:15:29 +05:30
Riley Testut
a23753588c Fixes peek & pop deprecation warnings 2024-12-26 21:15:29 +05:30
Riley Testut
36c965959b Fixes UIActivityIndicatorView.style deprecation warnings 2024-12-26 21:15:29 +05:30
Riley Testut
e31d7f21f0 Fixes “Plain Style unsupported in a Navigation Item” warnings 2024-12-26 21:15:29 +05:30
Riley Testut
3505a07482 Fixes “App doesn’t declare if it can open files in-place” warning 2024-12-26 21:15:29 +05:30
Riley Testut
bd0a6982d4 [Shared] Updates CocoaPods dependencies 2024-12-26 21:15:29 +05:30
Riley Testut
c8a3ff0a9c Fixes triggering false positives with some malware detectors
Renames UserDefaults.isMacDirtyCowSupported to .isCowExploitSupported
2024-12-26 21:15:29 +05:30
Riley Testut
b59c59de4a Adds “Clear Cache” description to Techy Things section footer 2024-12-26 21:15:29 +05:30
Riley Testut
7042e9acbe Fixes SourcesViewController crash on iOS 12
Apparently changing NSLayoutConstraint priorities from required to optional (and vice versa) isn’t supported, even though it works on iOS 13+. Who knew!
2024-12-26 21:15:29 +05:30
Riley Testut
a2c05c8099 Fixes incorrect “View Error Log” cell appearance 2024-12-26 21:15:29 +05:30
Riley Testut
68d49bd1ca Force-enables “Enforce 3-App Limit” if iOS version does not support MacDirtyCow exploit
Prevents “Enforce 3-App Limit” remaining enabled after updating iOS version without a way to disable it.
2024-12-26 21:15:29 +05:30
Riley Testut
05ef72ddfd Adds “Clear Cache” button to remove temporary files and uninstalled app backups 2024-12-26 21:15:29 +05:30
Riley Testut
07d5a7551f Supports sideloading more than 3 apps via MacDirtyCow exploit
The MacDirtyCow exploit allows users to remove the 3 active apps limit on iOS 16.1.2 and earlier. To support this, we’ve added a new (hidden) “Enforce 3-App Limit” setting that can be disabled to allow sideloading more than 3 apps.
2024-12-26 21:15:29 +05:30
Riley Testut
d76b258073 Fixes non-readable error toast view when an authentication error occurs 2024-12-26 21:15:29 +05:30
Riley Testut
31d5d024dd Caches MergeErrors when refreshing sources to view later in SourcesViewController 2024-12-26 21:15:29 +05:30
Riley Testut
6396794963 Moves “View Error Log” setting to new Techy Things section 2024-12-26 21:15:29 +05:30
Riley Testut
f4856bd435 Fixes “missing provisioning profile” error when refreshing DEBUG builds
Removes embedded XCTest (+ dSYM) bundles before resigning for DEBUG builds.
2024-12-26 21:15:29 +05:30
Riley Testut
c34bcce5ea Updates VerificationError.errorDescription to match ALTLocalizedError default implementation 2024-12-26 21:15:29 +05:30
Riley Testut
5bb677f6d9 Fixes refreshing tweaked apps with removed app extensions
In addition to removing the app extensions themselves, we also need to remove references to them from SC_Info/Manifest.plist in the app bundle (if the file exists). Otherwise, subsequent installations (resigning, (de)-activating, etc.) will fail due to “missing” app extensions.
2024-12-26 21:15:29 +05:30
Riley Testut
c9d64986bd Revises “check for updates” error title 2024-12-26 21:15:29 +05:30
Riley Testut
46aaf8d0ce Verifies Sources don’t contain duplicate app versions 2024-12-26 21:15:29 +05:30
Riley Testut
333e68a859 Replaces StoreApp.setVersions() preconditionFailure with runtime error
It’s more common than expected for apps to not have any app versions, so better to fail gracefully than crash.
2024-12-26 21:15:29 +05:30
Riley Testut
3d586f2c64 Moves @Managed to AltStoreCore 2024-12-26 21:15:29 +05:30
Riley Testut
bb560ed8b6 Verifies Sources don’t contain duplicate bundle IDs
AltStore assumes all apps have unique bundle IDs per source. Weird bugs can occur when this is not the case (such as merging multiple store listings into one), so we now verify upfront whether source contains duplicate bundle IDs before saving.
2024-12-26 21:15:29 +05:30
Riley Testut
e7b70328ea Fixes crash due to accessing AppManager.installationProgress/refreshProgress concurrently 2024-12-26 21:15:29 +05:30
Riley Testut
a6d9e32dfe Fixes delay updating UI after cancelling installing app 2024-12-26 21:15:29 +05:30