Limits iOS 14 AltDaemon workaround to only when using AltDaemon

Refreshing with AltServer while jailbroken will now continue using provisioning profiles, but AltDaemon will still reinstall apps instead of just refreshing them.
This commit is contained in:
Riley Testut
2021-03-01 12:41:33 -06:00
parent cbcd5fbd2c
commit 729b2a1f0d

View File

@@ -668,13 +668,16 @@ private extension AppManager
// Check if backup app is installed in place of real app.
let uti = UTTypeCopyDeclaration(app.installedBackupAppUTI as CFString)?.takeRetainedValue() as NSDictionary?
if app.certificateSerialNumber != group.context.certificate?.serialNumber || uti != nil || app.needsResign || (UIDevice.current.isJailbroken && !UserDefaults.standard.localServerSupportsRefreshing)
if app.certificateSerialNumber != group.context.certificate?.serialNumber ||
uti != nil ||
app.needsResign ||
(group.context.server?.connectionType == .local && !UserDefaults.standard.localServerSupportsRefreshing)
{
// Resign app instead of just refreshing profiles because either:
// * Refreshing using different certificate
// * Backup app is still installed
// * App explicitly needs resigning
// * Device is jailbroken and on iOS 14.0 or later (b/c refreshing with provisioning profiles is broken)
// * Device is jailbroken and using AltDaemon on iOS 14.0 or later (b/c refreshing with provisioning profiles is broken)
let installProgress = self._install(app, operation: operation, group: group) { (result) in
self.finish(operation, result: result, group: group, progress: progress)