diff --git a/AltBackup/BackupController.swift b/AltBackup/BackupController.swift index e835e335..60d99dea 100644 --- a/AltBackup/BackupController.swift +++ b/AltBackup/BackupController.swift @@ -77,10 +77,6 @@ struct BackupError: ALTLocalizedError class BackupController: NSObject { - private var altstoreAppGroup: String? { - return Bundle.main.appGroups.first - } - private let fileCoordinator = NSFileCoordinator(filePresenter: nil) private let operationQueue = OperationQueue() @@ -96,7 +92,7 @@ class BackupController: NSObject guard let bundleIdentifier = Bundle.main.bundleIdentifier else { throw BackupError(.invalidBundleID, description: NSLocalizedString("Unable to create backup directory.", comment: "")) } guard - let altstoreAppGroup = self.altstoreAppGroup, + let altstoreAppGroup = Bundle.main.altstoreAppGroup, let sharedDirectoryURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: altstoreAppGroup) else { throw BackupError(.appGroupNotFound(nil), description: NSLocalizedString("Unable to create backup directory.", comment: "")) } @@ -193,7 +189,7 @@ class BackupController: NSObject guard let bundleIdentifier = Bundle.main.bundleIdentifier else { throw BackupError(.invalidBundleID, description: NSLocalizedString("Unable to access backup.", comment: "")) } guard - let altstoreAppGroup = self.altstoreAppGroup, + let altstoreAppGroup = Bundle.main.altstoreAppGroup, let sharedDirectoryURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: altstoreAppGroup) else { throw BackupError(.appGroupNotFound(nil), description: NSLocalizedString("Unable to access backup.", comment: "")) } diff --git a/AltKit/Bundle+AltStore.swift b/AltKit/Bundle+AltStore.swift index 280b547d..e5bb4e39 100644 --- a/AltKit/Bundle+AltStore.swift +++ b/AltKit/Bundle+AltStore.swift @@ -24,6 +24,8 @@ public extension Bundle public extension Bundle { + static var baseAltStoreAppGroupID = "group.com.rileytestut.AltStore" + var infoPlistURL: URL { let infoPlistURL = self.bundleURL.appendingPathComponent("Info.plist") return infoPlistURL @@ -42,4 +44,9 @@ public extension Bundle var appGroups: [String] { return self.infoDictionary?[Bundle.Info.appGroups] as? [String] ?? [] } + + var altstoreAppGroup: String? { + let appGroup = self.appGroups.first { $0.contains(Bundle.baseAltStoreAppGroupID) } + return appGroup + } }