mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-19 19:53:25 +01:00
[AltServer] Uses correct app name and iOS version in ALTServerErrorUnsupportediOSVersion alert
This commit is contained in:
@@ -109,9 +109,30 @@ NSNotificationName const ALTDeviceManagerDeviceDidDisconnectNotification = @"ALT
|
|||||||
NSMutableDictionary<NSString *, ALTProvisioningProfile *> *cachedProfiles = [NSMutableDictionary dictionary];
|
NSMutableDictionary<NSString *, ALTProvisioningProfile *> *cachedProfiles = [NSMutableDictionary dictionary];
|
||||||
NSMutableSet<ALTProvisioningProfile *> *installedProfiles = [NSMutableSet set];
|
NSMutableSet<ALTProvisioningProfile *> *installedProfiles = [NSMutableSet set];
|
||||||
|
|
||||||
|
__block ALTApplication *application = nil;
|
||||||
|
|
||||||
void (^finish)(NSError *error) = ^(NSError *e) {
|
void (^finish)(NSError *error) = ^(NSError *e) {
|
||||||
__block NSError *error = e;
|
__block NSError *error = e;
|
||||||
|
|
||||||
|
if (application != nil && [error.domain isEqualToString:AltServerErrorDomain] && error.code == ALTServerErrorUnsupportediOSVersion)
|
||||||
|
{
|
||||||
|
// Add relevant userInfo values for ALTServerErrorUnsupportediOSVersion.
|
||||||
|
|
||||||
|
ALTDeviceType deviceType = ALTDeviceTypeiPhone;
|
||||||
|
if (application.supportedDeviceTypes & ALTDeviceTypeAppleTV)
|
||||||
|
{
|
||||||
|
// App supports tvOS, so assume we're installing to Apple TV (because there are no "universal" tvOS binaries).
|
||||||
|
deviceType = ALTDeviceTypeAppleTV;
|
||||||
|
}
|
||||||
|
|
||||||
|
NSMutableDictionary *userInfo = [error.userInfo mutableCopy];
|
||||||
|
userInfo[ALTAppNameErrorKey] = application.name;
|
||||||
|
userInfo[ALTOperatingSystemNameErrorKey] = ALTOperatingSystemNameForDeviceType(deviceType) ?: @"iOS";
|
||||||
|
userInfo[ALTOperatingSystemVersionErrorKey] = NSStringFromOperatingSystemVersion(application.minimumiOSVersion);
|
||||||
|
|
||||||
|
error = [NSError errorWithDomain:error.domain code:error.code userInfo:userInfo];
|
||||||
|
}
|
||||||
|
|
||||||
if (activeProvisioningProfiles != nil)
|
if (activeProvisioningProfiles != nil)
|
||||||
{
|
{
|
||||||
// Remove installed provisioning profiles if they're not active.
|
// Remove installed provisioning profiles if they're not active.
|
||||||
@@ -203,7 +224,7 @@ NSNotificationName const ALTDeviceManagerDeviceDidDisconnectNotification = @"ALT
|
|||||||
return finish([NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadCorruptFileError userInfo:@{NSURLErrorKey: fileURL}]);
|
return finish([NSError errorWithDomain:NSCocoaErrorDomain code:NSFileReadCorruptFileError userInfo:@{NSURLErrorKey: fileURL}]);
|
||||||
}
|
}
|
||||||
|
|
||||||
ALTApplication *application = [[ALTApplication alloc] initWithFileURL:appBundleURL];
|
application = [[ALTApplication alloc] initWithFileURL:appBundleURL];
|
||||||
if (application.provisioningProfile)
|
if (application.provisioningProfile)
|
||||||
{
|
{
|
||||||
[installedProfiles addObject:application.provisioningProfile];
|
[installedProfiles addObject:application.provisioningProfile];
|
||||||
@@ -1672,7 +1693,8 @@ void ALTDeviceManagerUpdateStatus(plist_t command, plist_t status, void *uuid)
|
|||||||
NSString *errorName = [NSString stringWithCString:name ?: "" encoding:NSUTF8StringEncoding];
|
NSString *errorName = [NSString stringWithCString:name ?: "" encoding:NSUTF8StringEncoding];
|
||||||
if ([errorName isEqualToString:@"DeviceOSVersionTooLow"])
|
if ([errorName isEqualToString:@"DeviceOSVersionTooLow"])
|
||||||
{
|
{
|
||||||
error = [NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorUnsupportediOSVersion userInfo:nil];
|
NSError *underlyingError = [NSError errorWithDomain:AltServerInstallationErrorDomain code:code userInfo:@{NSLocalizedDescriptionKey: localizedDescription}];
|
||||||
|
error = [NSError errorWithDomain:AltServerErrorDomain code:ALTServerErrorUnsupportediOSVersion userInfo:@{NSUnderlyingErrorKey: underlyingError}];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user