diff --git a/AltStore/Operations/InstallAppOperation.swift b/AltStore/Operations/InstallAppOperation.swift index 9e94206c..1e68be03 100644 --- a/AltStore/Operations/InstallAppOperation.swift +++ b/AltStore/Operations/InstallAppOperation.swift @@ -214,9 +214,10 @@ final class InstallAppOperation: ResultOperation alert.addAction(UIAlertAction(title: NSLocalizedString("Continue", comment: ""), style: .default, handler: { _ in print("Going home") // Cell Shortcut - UIApplication.shared.open(shortcutURLonDelay, options: [:]) { _ in - print("Cell OFF Shortcut finished execution.")} - + if self.context.shouldTurnOffData { + UIApplication.shared.open(shortcutURLonDelay, options: [:]) { _ in + print("Cell OFF Shortcut finished execution.")} + } UIApplication.shared.perform(#selector(NSXPCConnection.suspend)) })) @@ -234,7 +235,9 @@ final class InstallAppOperation: ResultOperation } } // Cell Shortcut - UIApplication.shared.open(shortcutURLonDelay, options: [:]) { _ in print("Cell OFF Shortcut finished execution.")} + if self.context.shouldTurnOffData { + UIApplication.shared.open(shortcutURLonDelay, options: [:]) { _ in print("Cell OFF Shortcut finished execution.")} + } UIApplication.shared.perform(#selector(NSXPCConnection.suspend)) } } diff --git a/AltStore/Operations/OperationContexts.swift b/AltStore/Operations/OperationContexts.swift index a1327c66..fdbc87bc 100644 --- a/AltStore/Operations/OperationContexts.swift +++ b/AltStore/Operations/OperationContexts.swift @@ -123,6 +123,8 @@ class InstallAppOperationContext: AppOperationContext var alternateIconURL: URL? + var shouldTurnOffData: Bool = false + // Non-nil when installing from a source. @AsyncManaged var appVersion: AppVersion? diff --git a/AltStore/Operations/SendAppOperation.swift b/AltStore/Operations/SendAppOperation.swift index 9a92930d..4d5849dd 100644 --- a/AltStore/Operations/SendAppOperation.swift +++ b/AltStore/Operations/SendAppOperation.swift @@ -42,10 +42,25 @@ final class SendAppOperation: ResultOperation<()> let fileURL = InstalledApp.refreshedIPAURL(for: app) print("AFC App `fileURL`: \(fileURL.absoluteString)") - // Wait for Shortcut to Finish Before Proceeding - UIApplication.shared.open(shortcutURLoff, options: [:]) { _ in - print("Shortcut finished execution. Proceeding with file transfer.") - + // only when minimuxer is not ready and below 26.4 should we turn off data + if #available(iOS 26.4, *) { + context.shouldTurnOffData = false + } else if !isMinimuxerReady { + context.shouldTurnOffData = true + } else { + context.shouldTurnOffData = false + } + + if context.shouldTurnOffData { + // Wait for Shortcut to Finish Before Proceeding + UIApplication.shared.open(shortcutURLoff, options: [:]) { _ in + print("Shortcut finished execution. Proceeding with file transfer.") + + DispatchQueue.global().async { + self.processFile(at: fileURL, for: app.bundleIdentifier) + } + } + } else { DispatchQueue.global().async { self.processFile(at: fileURL, for: app.bundleIdentifier) }