Supports installing Fugu14-based jailbreaks

If a jailbreak app contains the relevant Fugu14 entries in its Info.plist, AltStore will automatically guide the user through the Fugu14 untether process before installing the jailbreak.
This commit is contained in:
Riley Testut
2021-10-25 22:27:30 -07:00
parent e6ef288a69
commit ed396b400d
23 changed files with 1329 additions and 26 deletions

View File

@@ -14,13 +14,13 @@ import AltStoreCore
@objc(SendAppOperation)
class SendAppOperation: ResultOperation<ServerConnection>
{
let context: AppOperationContext
let context: InstallAppOperationContext
private let dispatchQueue = DispatchQueue(label: "com.altstore.SendAppOperation")
private var serverConnection: ServerConnection?
init(context: AppOperationContext)
init(context: InstallAppOperationContext)
{
self.context = context
@@ -39,9 +39,10 @@ class SendAppOperation: ResultOperation<ServerConnection>
return
}
guard let app = self.context.app, let server = self.context.server else { return self.finish(.failure(OperationError.invalidParameters)) }
guard let resignedApp = self.context.resignedApp, let server = self.context.server else { return self.finish(.failure(OperationError.invalidParameters)) }
// self.context.resignedApp.fileURL points to the app bundle, but we want the .ipa.
let app = AnyApp(name: resignedApp.name, bundleIdentifier: self.context.bundleIdentifier, url: resignedApp.url)
let fileURL = InstalledApp.refreshedIPAURL(for: app)
// Connect to server.