Commit Graph

1478 Commits

Author SHA1 Message Date
Riley Testut
f44c3c18a2 [AltStoreCore] Adds async wrappers for presenting UIAlertControllers 2024-12-26 21:15:29 +05:30
Riley Testut
bfea606bee Opens source’s website in-app upon tapping link in SourceHeaderView 2024-12-26 21:15:29 +05:30
Riley Testut
5dfb36ca48 Supports viewing all NewsItems and StoreApps for a source 2024-12-26 21:15:29 +05:30
Riley Testut
654f73f4ee 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
5145e355ce 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
20cd6d98fc [AltStoreCore] Adds Source.isAdded
Convenience property to determine whether a source has been added to the user’s AltStore.
2024-12-26 21:15:29 +05:30
Riley Testut
12ca34f40f [AltStoreCore] Adds @AsyncManaged property wrapper
Same as @Managed, except it supports using Swift Concurrency to fetch values from its managedObject’s managedObjectContext.
2024-12-26 21:15:29 +05:30
Riley Testut
fc99fb32a4 [AltStoreCore] Adds NSManagedObjectContext.performAsync() to wrap iOS 15+ async perform()
Allows us to use Swift Concurrency with Core Data pre-iOS 15.
2024-12-26 21:15:29 +05:30
Riley Testut
779887e582 [AltStoreCore] Fixes incorrect Source.featuredApps relationship post-merging 2024-12-26 21:15:29 +05:30
Riley Testut
6fa2fa16f7 Fixes CollapsingTextView “TextKit 1 compatibility mode” runtime warning 2024-12-26 21:15:29 +05:30
Riley Testut
bdb1d68b6b [AltStoreCore] Supports additional source JSON values for detailed “About” page 2024-12-26 21:15:29 +05:30
Riley Testut
404bd1450b Fixes error fetching Friend Zone patrons due to unexpected nil name 2024-12-26 21:15:29 +05:30
Riley Testut
06d28ca663 Removes unnecessary @available annotations 2024-12-26 21:15:29 +05:30
Riley Testut
ed1365281f Removes unnecessary #available checks 2024-12-26 21:15:29 +05:30
Riley Testut
824fc48e77 Fixes UIApplication.setMinimumBackgroundFetchInterval() deprecation warning 2024-12-26 21:15:29 +05:30
Riley Testut
8695c412d7 Fixes peek & pop deprecation warnings 2024-12-26 21:15:29 +05:30
Riley Testut
e4dfe1125a Fixes UIApplication.keyWindow deprecation warning 2024-12-26 21:15:29 +05:30
Riley Testut
589ece3860 Fixes Scanner.scanHexInt32 deprecation warning 2024-12-26 21:15:29 +05:30
Riley Testut
a5b7abea0d Fixes UIActivityIndicatorView.style deprecation warnings 2024-12-26 21:15:29 +05:30
Riley Testut
0a58a1fdc3 [Shared] Updates projects to recommended settings (Xcode 14.1) 2024-12-26 21:15:29 +05:30
Riley Testut
aa2409178b [AltStoreCore] Fixes Core Data “Using nil or insecure value transformer” warnings 2024-12-26 21:15:29 +05:30
Riley Testut
960492f1d0 Fixes “Plain Style unsupported in a Navigation Item” warnings 2024-12-26 21:15:29 +05:30
Riley Testut
726ba873fc Silences “Double-quoted include in framework header” warnings 2024-12-26 21:15:29 +05:30
Riley Testut
f1f3e49bc5 Fixes “App doesn’t declare if it can open files in-place” warning 2024-12-26 21:15:29 +05:30
Riley Testut
d00e6de8a2 [Shared] Updates CocoaPods dependencies 2024-12-26 21:15:29 +05:30
Riley Testut
f24f721845 [Shared] Raises deployment targets to iOS 14.0 and macOS 11.0 2024-12-26 21:15:29 +05:30
Riley Testut
b7f5acd332 [AltTests] Replaces iOS 16+ URL(filePath:) with URL(fileURLWithPath:) 2024-12-26 21:15:29 +05:30
Riley Testut
65598e2cd5 Fixes triggering false positives with some malware detectors
Renames UserDefaults.isMacDirtyCowSupported to .isCowExploitSupported
2024-12-26 21:15:29 +05:30
Riley Testut
806421f19f Adds “Clear Cache” description to Techy Things section footer 2024-12-26 21:15:29 +05:30
Riley Testut
9df4026ed4 Hides MacDirtyCow settings on iOS 15.7.2
MacDirtyCow supports iOS 14.0 - 15.7.1 and 16.0 - 16.1.2, but not 15.7.2
2024-12-26 21:15:29 +05:30
Riley Testut
17abda66ba 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
f16e9c75b4 Fixes incorrect “View Error Log” cell appearance 2024-12-26 21:15:29 +05:30
Riley Testut
f9c22ff617 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
2cfc307359 Adds “Clear Cache” button to remove temporary files and uninstalled app backups 2024-12-26 21:15:29 +05:30
Riley Testut
66a17bc27f 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
5da3974795 Fixes non-readable error toast view when an authentication error occurs 2024-12-26 21:15:29 +05:30
Riley Testut
a8f0d9da9b Caches MergeErrors when refreshing sources to view later in SourcesViewController 2024-12-26 21:15:29 +05:30
Riley Testut
4a3dbc20d6 Fixes incorrect StoreApp.versions order post-merge 2024-12-26 21:15:29 +05:30
Riley Testut
624c4086f1 [Shared] Fixes pattern matching non-ALTErrorEnum error codes 2024-12-26 21:15:29 +05:30
Riley Testut
d54b7aa3bf Fixes adding failures to NSErrors with nil localizedFailureReasons 2024-12-26 21:15:29 +05:30
Riley Testut
1646c7cb83 [AltTests] Enables Code Coverage 2024-12-26 21:15:29 +05:30
Riley Testut
ec0c0df78c [AltTests] Adds error handling tests
Passes all tests

[Review] Refactors tests to be more readable

Removes unnecessary code
2024-12-26 21:15:29 +05:30
Riley Testut
1d1be0a8f9 Adds AltTests test target 2024-12-26 21:15:29 +05:30
Riley Testut
7afd11fdc6 Moves “View Error Log” setting to new Techy Things section 2024-12-26 21:15:29 +05:30
Riley Testut
8fcc5622e1 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
8759ed091f [Shared] Ignores ALTWrappedError NSLocalizedDescription user info value if it == failure + failure reason 2024-12-26 21:15:29 +05:30
Riley Testut
d2d90ab9da [Shared] Encodes all CodableError codable user info values, not just recognized types 2024-12-26 21:15:29 +05:30
Riley Testut
2e987647dc [Shared] Fixes error encoding CodableError Int/UInt user info values 2024-12-26 21:15:29 +05:30
Riley Testut
e96a5114e5 [Shared] Uses underlying error messages (if available) for ALTServerError.invalidRequest/.invalidResponse 2024-12-26 21:15:29 +05:30
Riley Testut
6c7223b991 Updates VerificationError.errorDescription to match ALTLocalizedError default implementation 2024-12-26 21:15:29 +05:30