Commit Graph

152 Commits

Author SHA1 Message Date
Joseph Mattello
393342402a refactor sparkle URLs to info.plist
Signed-off-by: Joseph Mattello <mail@joemattiello.com>
2022-06-07 06:10:13 -04:00
Joseph Mattello
03dc905c41 oops
Signed-off-by: Joseph Mattello <mail@joemattiello.com>
2022-06-07 04:02:22 -04:00
Joseph Mattello
ef4aa215ed mail.app only launch if not open
Signed-off-by: Joseph Mattello <mail@joemattiello.com>
2022-06-06 23:41:58 -04:00
Josh-WikiRealty
c7f99a87fb Automatically open mail when fetching Anisette data and update error message to accomodate 2022-06-02 02:03:11 -04:00
Riley Testut
93d9645adc [AltServer] Fixes incorrect “Developer Disk incompatible with [OS version]” error
Previously we assumed that if there was an error installing the developer disk, it was incompatible with the device’s iOS version. Howevever, sometimes an iOS device needs to be rebooted before it can successfully mount a developer disk.

We now explicitly check for the latter scenario, and present a different error message asking the user to reboot their device if that’s the case.
2022-05-25 15:57:17 -07:00
Riley Testut
7bf813e7ec [AltServer] Fixes installing AltPlugin after uninstalling it
Bundle(url:) is cached, so even if AltPlugin is deleted Bundle(url:) will still return a non-nil value. Instead, we now directly check whether a directory exists at pluginURL to determine if AltPlugin is installed.
2022-05-25 15:17:58 -07:00
Riley Testut
d3a8a89023 [AltServer] Fixes disconnecting ALTWiredConnection’s
ALTWiredConnection.disconnect() doesn’t do anything if ALTWiredConnection.isConnected == NO. The problem is, we never set .isConnected to YES in the first place…which means disconnect() never actually did anything. Whoops.
2022-05-25 15:08:03 -07:00
Riley Testut
7b973ac447 [AltServer] Fixes NetworkConnection strong reference cycle
WirelessConnection.nwConnection.stateUpdateHandler maintains strong reference to WirelessConnection, resulting in strong reference cycle. To break it, we now explicitly set stateUpdateHandler to nil when disconnecting.
2022-05-25 14:59:12 -07:00
Riley Testut
48a3a7f61b [AltServer] Fixes indefinitely caching STAGING Sparkle URL 2022-05-10 15:02:58 -07:00
Riley Testut
789e6200f4 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
be06c9bacd [AltServer] Fixes “App Group does not exist” error 2022-03-29 19:51:54 -07:00
Riley Testut
9fdd9b11e3 [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
80a3a6e246 [AltServer] Embeds ALTServerID in Info.plist if app uses AltKit 2022-03-29 19:34:47 -07:00
Riley Testut
44cfab7234 [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
f48d16c65c [AltServer] Fixes prematurely fetching installed apps 2022-03-02 16:22:04 -08:00
Riley Testut
1fb96a5ef2 [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
380f10286d [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
2bdf89e83f [AltServer] Fixes staging AltPlugin update URL 2022-02-22 12:35:24 -08:00
Riley Testut
1ebdb8df21 [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
31e9ce0d40 [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
Riley Testut
cd300190be [AltServer] Uses Sparkle staging URL for STAGING builds 2022-02-09 13:46:03 -08:00
Shane Gill
ca34c36df6 [AltServer] Updates AltPlugin to 1.9 2022-02-08 18:59:35 -08:00
Riley Testut
d64a675e6a [AltServer] Updates AltPlugin to 1.8 2021-12-15 12:48:11 -08:00
Riley Testut
dd8a6f209a [AltServer] Fixes "Sideload .ipa" file picker not appearing in foreground 2021-11-10 11:44:08 -08:00
Riley Testut
6d831f3d12 [AltServer] Hides "Sideload .ipa" menu item by default
Manual sideloading is intended to be a fallback for situations where AltStore cannot be used. To emphasize this, we hide the option by default unless the user holds the Option key.
2021-11-10 11:42:32 -08:00
Riley Testut
a604c6d9ec [AltServer] Caches iOS and tvOS DeveloperDiskImages to separate locations
Previously, DeveloperDiskImages were only differentied by OS version, which meant (for example) iOS 15.0 and tvOS 15.0 disk images were cached to the same location. Now iOS and tvOS disk images are stored separately, so AltServer will no longer try to use a cached disk image for the wrong OS.
2021-10-13 12:55:07 -07:00
Riley Testut
d66556e35c [AltServer] Updates AltPlugin to 1.7 2021-10-12 12:32:43 -07:00
Riley Testut
7e089359d5 [AltServer] Fixes potential crash due to race condition when device is disconnected
Simultaneously updating WiredConnectionHandler.notificationConnections can cause a crash, so we enforce serial access to notificationConnections via DispatchQueue.
2021-10-04 15:57:23 -07:00
Riley Testut
ac491b6fd1 [AltServer] Prefers revoking existing AltStore certificate (if it exists) 2021-10-04 15:51:16 -07:00
Riley Testut
c2602e05d1 [AltServer] Fixes duplicate "Revoke Development Certificate" alerts 2021-10-04 15:43:31 -07:00
Riley Testut
a685f8257b [AltServer] Fixes not ignoring InstallationError.cancelled when installing app
Allows InstallationError to be bridged back from NSError, which lets us match InstallationError against NSError's via pattern matching.
2021-10-04 15:36:16 -07:00
Riley Testut
389e56e8b9 Improves ALTServerError.maximumFreeAppLimitReached error message
AltServer once again displays the list of installed sideloaded apps in error alert.
2021-10-04 15:21:57 -07:00
Riley Testut
f1bed333ba [AltServer] Fixes fetching anisette data on macOS 10.14 Mojave
AltXPC does not work on Mojave, so only attempt it on macOS 10.15 Catalina or later.
2021-10-04 13:21:24 -07:00
Riley Testut
a490cf0ad2 [AltServer] Fixes incorrectly parsing thread state as decimal value when enabling JIT
Thread state is hexadecimal, so we now explicitly use NSScanner to parse string as base-16.
2021-09-13 14:15:52 -07:00
Cameron Bates
7563896f5c [AltServer] Include ALTDeviceID on install of apps (#822)
* Add ALTDeviceID to plist file on install
* Only add if deviceid key is present

Co-authored-by: Cameron Bates <cameronbates@camerons-mbp-2.lan>
2021-09-13 14:11:53 -07:00
Riley Testut
c8be356102 [AltServer] Supports processName in EnableUnsignedCodeExecutionRequest
Process names will be used as a fallback if the processID cannot be determined, such as when enabling JIT for another app from within AltStore.
2021-09-02 16:03:21 -05:00
Riley Testut
6347ae13e7 [AltServer] Updates AltPlugin to 1.6 2021-09-01 12:28:53 -05:00
Riley Testut
65e7037e41 [AltServer] Fixes enabling JIT on iOS 15 beta 2
vAttachName sporadically fails on iOS 15 beta 2, so we now use vAttachOrWait and manually detect whether the app is already running or not.
2021-07-07 13:54:41 -07:00
Riley Testut
fa124acb1e [AltServer] Fixes isDeveloperDiskImageMountedForDevice()
Previously, we returned YES when there was no error. Instead, we should return YES only when there’s no error _and_ the developer disk image is installed.
2021-06-24 12:56:44 -07:00
Riley Testut
f7b9cd4032 [AltServer] Updates AltPlugin to 1.5 2021-06-14 12:10:35 -07:00
Riley Testut
f0a7d39a3e [AltServer] Updates AltPlugin to 1.4 2021-06-04 15:07:06 -07:00
Riley Testut
40e4ccd270 [AltServer] Updates AltStore download URLs to use Cloudflare CDN
Workaround for Xfinity blocking connections to f000.backblazeb2.com for some users.
2021-06-04 15:06:53 -07:00
Riley Testut
590cf32006 [AltServer] Improves error messages 2021-06-04 14:57:32 -07:00
Riley Testut
8b8b32b759 [AltServer] Handles EnableUnsignedCodeExecutionRequest
Allows sideloaded apps to connect to AltServer and enable JIT execution.
2021-06-04 14:57:32 -07:00
Riley Testut
9284db5d16 [AltServer] Adds “Enable JIT” menu option
Allows user to enable JIT execution for any sideloaded app by starting (and immediately stopping) a debug session on device.
2021-06-04 14:57:32 -07:00
Riley Testut
d58cbc9c3f [AltServer] Adds method to fetch installed apps on devices 2021-06-04 14:57:32 -07:00
Riley Testut
6a64568db2 [AltServer] Refactors common NSMenu logic into MenuController 2021-06-04 14:56:27 -07:00
Riley Testut
37e7125632 [AltServer] Adds ALTDebugConnection to “debug” sideloaded apps
Allows AltServer to programmatically enable JIT execution in sideloaded apps.
2021-06-04 14:56:27 -07:00
Riley Testut
c2d7714272 [AltServer] Installs Developer disk image before installing AltStore
Allows AltServer to programmatically initiate a debug session with AltStore, which can be used to start a background refresh or enable JIT on demand.

[AltServer] Renames ALTDevice variable name
2021-06-04 14:56:27 -07:00
Riley Testut
43a25da405 [AltServer] Reads devices’ OS version during discovery 2021-06-04 14:55:50 -07:00