Commit Graph

1462 Commits

Author SHA1 Message Date
Riley Testut
8fb0304728 Fixes UIApplication.keyWindow deprecation warning 2024-12-26 21:15:29 +05:30
Riley Testut
74a0d0f580 Fixes Scanner.scanHexInt32 deprecation warning 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
9eb1029fb4 [Shared] Updates projects to recommended settings (Xcode 14.1) 2024-12-26 21:15:29 +05:30
Riley Testut
d4f98f3a94 [AltStoreCore] Fixes Core Data “Using nil or insecure value transformer” 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
9c35c9b1c1 Silences “Double-quoted include in framework header” 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
a452376ac5 [Shared] Raises deployment targets to iOS 14.0 and macOS 11.0 2024-12-26 21:15:29 +05:30
Riley Testut
5208e19b1f [AltTests] Replaces iOS 16+ URL(filePath:) with URL(fileURLWithPath:) 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
a5b1a320de 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
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
47fb8ff3eb Fixes incorrect StoreApp.versions order post-merge 2024-12-26 21:15:29 +05:30
Riley Testut
3e6f48b1bb [Shared] Fixes pattern matching non-ALTErrorEnum error codes 2024-12-26 21:15:29 +05:30
Riley Testut
19a405fe56 Fixes adding failures to NSErrors with nil localizedFailureReasons 2024-12-26 21:15:29 +05:30
Riley Testut
3e6c08f458 [AltTests] Enables Code Coverage 2024-12-26 21:15:29 +05:30
Riley Testut
5c942dc150 [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
ce0e5d6c50 Adds AltTests test target 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
4e2d62cf95 [Shared] Ignores ALTWrappedError NSLocalizedDescription user info value if it == failure + failure reason 2024-12-26 21:15:29 +05:30
Riley Testut
1741aff153 [Shared] Encodes all CodableError codable user info values, not just recognized types 2024-12-26 21:15:29 +05:30
Riley Testut
9b50d2269c [Shared] Fixes error encoding CodableError Int/UInt user info values 2024-12-26 21:15:29 +05:30
Riley Testut
f03507e348 [Shared] Uses underlying error messages (if available) for ALTServerError.invalidRequest/.invalidResponse 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
62518be628 [AltServer] Downloads latest supported AltStore version for device OS version
Asks user to install latest compatible version instead if latest AltStore version does not support their device’s OS version.
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
Riley Testut
2e27447e36 [Shared] Adds OperatingSystemVersion+Comparable to AltServer target 2024-12-26 21:15:29 +05:30
Riley Testut
0759bccfdc Includes the invalid name in error message for registering App ID with invalid characters 2024-12-26 21:15:29 +05:30
Riley Testut
44bec0fada Adds comment to ErrorLogViewController 2024-12-26 21:15:29 +05:30
Riley Testut
f45deb5ba4 Fixes missing app icon for update errors in Error Log 2024-12-26 21:15:29 +05:30
Riley Testut
c669260115 Supports updating apps from AppViewController
Unlike MyAppsViewController, AppViewController will attempt to update to the latest available version, rather than the latest supported version. If the latest version is not supported, it will fall back to asking user to install last supported version.
2024-12-26 21:15:29 +05:30
Riley Testut
7c9d501c02 Fixes updating apps to latest version instead of latest supported version from My Apps tab 2024-12-26 21:15:29 +05:30
Riley Testut
b63adb38d8 Fixes potentially incorrect versions order when merging StoreApp 2024-12-26 21:15:29 +05:30