Commit Graph

752 Commits

Author SHA1 Message Date
Riley Testut
72a684a22f Fixes authenticating Apple IDs with capital letters
Also fixes repeatedly asking some users to sign in with Apple ID.
2022-05-12 15:53:05 -07:00
Riley Testut
14529030be [Apps] Updates AltStore to 1.5 2022-05-10 15:05:34 -07:00
Riley Testut
9570b797fd [AltServer] Fixes indefinitely caching STAGING Sparkle URL 2022-05-10 15:02:58 -07:00
Riley Testut
cdb5fb34dd [Apps] Adds AltServer 1.5 news item 2022-05-05 14:03:34 -07:00
Riley Testut
ddff6a24f3 Updates app version to 1.5 2022-05-04 12:47:53 -07:00
Riley Testut
ae3c0acfc0 Enables AltJIT for public versions 2022-05-04 12:46:14 -07:00
Riley Testut
eef23ae49d [AltServer] Updates NSMultipleUnderlyingErrorsKey #available check to include macOS 2022-04-20 15:19:29 -07:00
Riley Testut
2262f04fb3 [AltServer] Updates app version to 1.5 2022-04-20 15:14:21 -07:00
Riley Testut
b7a99ed508 [Apps] Updates AltStore beta to 1.5rc 2022-04-19 13:20:40 -07:00
Riley Testut
38f68de3ea Updates app version to 1.5rc 2022-04-18 16:35:14 -07:00
Riley Testut
6b6f016189 Migrates Core Data model from v9 to v10 2022-04-18 16:01:48 -07:00
Riley Testut
82faa89912 Updates Keychain.patreonAccountID in PatreonAPI.fetchAccount()
PatreonAPI.fetchAccount() is called by both PatreonAPI.authenticate() and PatreonAPI.refreshPatreonAccount(), so this ensures the keychain is updated via both ways.
2022-04-18 15:46:57 -07:00
Riley Testut
dfd49de8d1 Replaces PatreonAccount.isFriendZone with ManagedPatron
Rather than store both the current user’s Patreon account and all cached Friend Zone patrons in the same table, we now store Friend Zone patrons in the new ManagedPatron table. This avoids the need to distinguish between the two at runtime.
2022-04-18 15:46:35 -07:00
Riley Testut
aa8dd80e54 Adds (Managed)Patron Core Data entity
Will be used to cache Friend Zone patrons separately than the existing PatreonAccount entity.
2022-04-18 15:25:27 -07:00
Riley Testut
751d9419ff Throws URLError.fileDoesNotExist for 404 responses 2022-04-14 18:29:34 -07:00
Riley Testut
643d7bf6fa Updates ALTDeviceID to iPhone 13 Pro 2022-04-14 18:15:23 -07:00
Riley Testut
afb20f79a9 Unhides Sources button for public builds 2022-04-14 18:01:20 -07:00
Riley Testut
6c2a83964b Updates Keychain.patreonCreatorAccessToken via UpdatePatronsOperation 2022-04-14 17:58:06 -07:00
Riley Testut
07daff261a Caches Friend Zone patrons to offset slow loading time
The Patreon API doesn’t have a way to fetch just the patrons belonging to our Friend Zone tier. Instead, we need to fetch ALL patrons (including inactive ones) and filter out those not in the tier. This is very inefficient, and takes over a minute to complete as of April 14, 2022, due to the number of patrons we have.

We can’t do much to change this, but AltStore will now at least cache the fetched patrons with Core Data. Additionally, AltStore will only perform this long fetch whenever the Friend Zone list actually changes, rather than every time the Patreon screen appears.
2022-04-14 17:56:36 -07:00
Riley Testut
8ddeb7f9fb Uses Keychain.patreonAccountID to fetch current user’s PatreonAccount
Allows us to distinguish between the current user and other cached patrons in the future.
2022-04-14 16:37:29 -07:00
Riley Testut
1f7c089c70 Supports adding trusted sources from SourcesViewController
Previously, only the beta version of AltStore could add sources. Now, the public version supports adding explicitly “trusted” sources, while the beta version can continue to add any source.
2022-04-14 16:33:49 -07:00
Riley Testut
f1f6852ab4 Adds FetchTrustedSourcesOperation 2022-04-14 15:27:57 -07:00
Riley Testut
e5d66defbc #ifdef’s out libfragmentzip and AppleArchive usage for simulator builds
Neither are supported by the iOS simulator.
2022-04-13 20:41:38 -07:00
Riley Testut
29913c5b09 Adds Shane Gill to Settings credits 2022-04-13 20:06:57 -07:00
Riley Testut
21d807d0c3 Adds Shane to Patreon screen 2022-04-13 20:06:35 -07:00
Riley Testut
a6e5c32166 Fixes Core Data error when not connected to internet
NSError.sanitizedForCoreData() now sanitizes _all_ user info values (including for underlying errors) to ensure they all conform to NSSecureCoding, rather than just removing “NSCodingPath” value (if it exists).
2022-04-11 13:42:31 -07:00
Riley Testut
0b3e94b974 Hides permission section if app doesn’t list any permissions
Eventually, listing permissions will be mandatory so AltStore can verify that apps only require the permissions they declare. Until then, we’ll allow apps to not list their permissions.
2022-04-11 12:31:02 -07:00
Riley Testut
6db5aec672 Supports landscape app screenshots
Rotates landscape screenshots before displaying them. For now, we still assume screenshots have 16:9 aspect ratio.
2022-04-11 11:59:56 -07:00
Riley Testut
73ff5fe9dc Fixes News tab crash after adding/removing sources with NewsItems 2022-04-07 14:43:03 -07:00
Riley Testut
77694aac8e [AltServer] Updates app version to 1.5rc 2022-03-31 12:50:52 -07:00
Riley Testut
a04a27c1e3 Disables app group feature if app has no app groups
We can’t remove all app groups from an App ID once one has been assigned, but we _can_ disable app groups completely for effectively the same result.

This fixes some apps having permanant access to AltStore’s own app group after being (de-)activated.
2022-03-31 12:50:50 -07:00
Riley Testut
7a547c70e3 [AltServer] Fixes “App Group does not exist” error 2022-03-29 19:51:54 -07:00
Riley Testut
b0abf0e7a5 [AltServer] Replaces lock with semaphore when updating app groups
Locks can’t be unlocked from a separate thread than they were locked on…whoops.
2022-03-29 19:51:17 -07:00
Riley Testut
48c49c6ec7 [AltServer] Embeds ALTServerID in Info.plist if app uses AltKit 2022-03-29 19:34:47 -07:00
Riley Testut
16564500e2 [AltServer] Adds ellipsis to menu items that require additional input
As specified by the macOS HIG.
2022-03-29 16:14:00 -07:00
Riley Testut
6f6b17b211 Fixes crashing due to uncaught codesigning exceptions 2022-03-29 16:09:43 -07:00
Riley Testut
f1618ad9df [AltServer] Fixes sideloading apps to devices running iOS 9.3 or later 2022-03-29 16:07:38 -07:00
Riley Testut
947a14d6a2 [Apps] Updates AltStore 1.4.9 release notes 2022-03-07 10:52:48 -08:00
shanegillio
f030ecd66f [Apps] Updates AltStore to 1.4.9 (#960)
* [Apps] Updates AltStore beta to 1.5b4
* [Apps] Updates AltStore to 1.4.9
* Apply suggestions from code review
2022-03-04 12:54:02 -08:00
Riley Testut
ec86fb77b0 [AltServer] Fixes prematurely fetching installed apps 2022-03-02 16:22:04 -08:00
shanegillio
cfa246adc5 [Apps] Updates AltStore beta to 1.5b4 (#957) 2022-03-02 11:34:27 -08:00
Riley Testut
ebb236e47c [AltServer] Improves ALTServerErrorIncompatibleDeveloperDisk error message
Uses NSError’s debug description, if available, to populate error alerts.
2022-03-01 16:07:20 -08:00
Riley Testut
37b00d670b [AltServer] Ignores incompatible cached developer disks
Fixes issue where AltServer would always use cached developer disk, even if it isn’t compatible with the device’s operating system version.
2022-03-01 16:03:03 -08:00
Riley Testut
23516d0466 [Apps] Adds #StandWithUkraine news update 2022-03-01 12:04:57 -08:00
Riley Testut
2b4f1ce1c2 Replaces direct Patreon URL with forwarding URL
Allows us to change the Patreon URL without also updating the app.
2022-02-25 15:43:25 -08:00
Riley Testut
c786858f17 Updates app version to 1.5b4 2022-02-23 13:42:40 -08:00
Riley Testut
a149cb231b Fixes crashing on launch on iOS 13 or earlier
We now weak link libAppleArchive, which doesn’t exist prior to iOS 14.
2022-02-22 16:07:03 -08:00
Riley Testut
3c9ef728e1 [AltServer] Fixes staging AltPlugin update URL 2022-02-22 12:35:24 -08:00
Riley Testut
4257f58f96 [AltServer] Updates AltPlugin separately from AltServer
Code written and committed with Lil’ Dude “Weedles” by my side <3
2022-02-15 14:44:11 -06:00
Riley Testut
ddfab31781 [AltServer] Uses ephemeral URLSession when fetching developer disks
Fixes AltServer using outdated cached response after updating developer disks for a new OS version.
2022-02-09 13:52:11 -08:00