diff --git a/AltStore.xcodeproj/project.pbxproj b/AltStore.xcodeproj/project.pbxproj index 18477afa..50f0b105 100644 --- a/AltStore.xcodeproj/project.pbxproj +++ b/AltStore.xcodeproj/project.pbxproj @@ -45,6 +45,8 @@ B34AFD1529A9D31200E637B4 /* ServerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34AFD1229A9D2C100E637B4 /* ServerProtocol.swift */; }; B34AFD1729A9D9FC00E637B4 /* RoxasUI in Frameworks */ = {isa = PBXBuildFile; productRef = B34AFD1629A9D9FC00E637B4 /* RoxasUI */; }; B34AFD1929A9DB0200E637B4 /* SideKit in Frameworks */ = {isa = PBXBuildFile; productRef = B34AFD1829A9DB0200E637B4 /* SideKit */; }; + B34AFD1B29A9DFA200E637B4 /* NSError+AltStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34AFD1A29A9DFA200E637B4 /* NSError+AltStore.swift */; }; + B34AFD1C29A9DFA200E637B4 /* NSError+AltStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B34AFD1A29A9DFA200E637B4 /* NSError+AltStore.swift */; }; B376FE3E29258C8900E18883 /* OSLog+SideStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */; }; B39F16132918D7C5002E9404 /* Consts.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39F16122918D7C5002E9404 /* Consts.swift */; }; B39F16152918D7DA002E9404 /* Consts+Proxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B39F16142918D7DA002E9404 /* Consts+Proxy.swift */; }; @@ -495,6 +497,7 @@ B343F87B295F7C5D002B1159 /* tlv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tlv.c; sourceTree = ""; }; B343F886295F7F9B002B1159 /* libfragmentzip.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libfragmentzip.xcodeproj; path = Dependencies/libfragmentzip/libfragmentzip.xcodeproj; sourceTree = ""; }; B34AFD1229A9D2C100E637B4 /* ServerProtocol.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ServerProtocol.swift; path = ../../../../Downloads/ServerProtocol.swift; sourceTree = ""; }; + B34AFD1A29A9DFA200E637B4 /* NSError+AltStore.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSError+AltStore.swift"; sourceTree = ""; }; B376FE3D29258C8900E18883 /* OSLog+SideStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "OSLog+SideStore.swift"; sourceTree = ""; }; B39575F4284F29E20080B4FF /* Roxas.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Roxas.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B39F16122918D7C5002E9404 /* Consts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Consts.swift; sourceTree = ""; }; @@ -1657,6 +1660,7 @@ BFF767C32489A6800097E58C /* Extensions */ = { isa = PBXGroup; children = ( + B34AFD1A29A9DFA200E637B4 /* NSError+AltStore.swift */, BFBAC8852295C90300587369 /* Result+Conveniences.swift */, BF1E314122A05D4C00370A3C /* Bundle+AltStore.swift */, BF1FE357251A9FB000C3CE09 /* NSXPCConnection+MachServices.swift */, @@ -2171,6 +2175,7 @@ BFECAC8924FD950E0077C41F /* ConnectionManager.swift in Sources */, BFECAC9524FD98BB0077C41F /* CFNotificationName+AltStore.m in Sources */, BFECAC8E24FD950E0077C41F /* Connection.swift in Sources */, + B34AFD1B29A9DFA200E637B4 /* NSError+AltStore.swift in Sources */, BF10EB34248730750055E6DB /* main.swift in Sources */, BF8CAE462489E772004D6CCE /* AppManager.swift in Sources */, BFECAC9024FD950E0077C41F /* Bundle+AltStore.swift in Sources */, @@ -2304,6 +2309,7 @@ BF8B17EB250AC40000F8157F /* FileManager+SharedDirectories.swift in Sources */, BF66EEE02501AECA007EE018 /* Account.swift in Sources */, BF66EED52501AECA007EE018 /* AltStore.xcdatamodeld in Sources */, + B34AFD1C29A9DFA200E637B4 /* NSError+AltStore.swift in Sources */, BFAECC582501B0A400528F27 /* ALTConstants.m in Sources */, D5F99A1A28D12B1400476A16 /* StoreApp10ToStoreApp11Policy.swift in Sources */, BFAECC592501B0A400528F27 /* Result+Conveniences.swift in Sources */, diff --git a/AltStore/App Detail/AppContentViewController.swift b/AltStore/App Detail/AppContentViewController.swift index 6dc52b87..ea4c22e0 100644 --- a/AltStore/App Detail/AppContentViewController.swift +++ b/AltStore/App Detail/AppContentViewController.swift @@ -9,7 +9,7 @@ import UIKit import AltStoreCore -import Roxas +import RoxasUI import Nuke diff --git a/AltStore/App Detail/AppViewController.swift b/AltStore/App Detail/AppViewController.swift index 238b90b8..a2c2e565 100644 --- a/AltStore/App Detail/AppViewController.swift +++ b/AltStore/App Detail/AppViewController.swift @@ -9,7 +9,7 @@ import UIKit import AltStoreCore -import Roxas +import RoxasUI import Nuke diff --git a/AltStore/App IDs/AppIDsViewController.swift b/AltStore/App IDs/AppIDsViewController.swift index 1cd764b4..abe82fa0 100644 --- a/AltStore/App IDs/AppIDsViewController.swift +++ b/AltStore/App IDs/AppIDsViewController.swift @@ -9,7 +9,7 @@ import UIKit import AltStoreCore -import Roxas +import RoxasUI final class AppIDsViewController: UICollectionViewController { diff --git a/AltStore/AppDelegate.swift b/AltStore/AppDelegate.swift index 34e1b073..8c7eb983 100644 --- a/AltStore/AppDelegate.swift +++ b/AltStore/AppDelegate.swift @@ -13,7 +13,7 @@ import Intents import AltStoreCore import AltSign -import Roxas +import RoxasUI import EmotionalDamage extension AppDelegate diff --git a/AltStore/Authentication/RefreshAltStoreViewController.swift b/AltStore/Authentication/RefreshAltStoreViewController.swift index cf430d2f..0c07d77b 100644 --- a/AltStore/Authentication/RefreshAltStoreViewController.swift +++ b/AltStore/Authentication/RefreshAltStoreViewController.swift @@ -10,7 +10,7 @@ import UIKit import AltStoreCore import AltSign -import Roxas +import RoxasUI final class RefreshAltStoreViewController: UIViewController { diff --git a/AltStore/Browse/BrowseCollectionViewCell.swift b/AltStore/Browse/BrowseCollectionViewCell.swift index 2eafc1d4..8ef4673c 100644 --- a/AltStore/Browse/BrowseCollectionViewCell.swift +++ b/AltStore/Browse/BrowseCollectionViewCell.swift @@ -8,7 +8,7 @@ import UIKit -import Roxas +import RoxasUI import Nuke diff --git a/AltStore/Browse/BrowseViewController.swift b/AltStore/Browse/BrowseViewController.swift index ec1bb75d..eca1b134 100644 --- a/AltStore/Browse/BrowseViewController.swift +++ b/AltStore/Browse/BrowseViewController.swift @@ -9,7 +9,7 @@ import UIKit import AltStoreCore -import Roxas +import RoxasUI import Nuke diff --git a/AltStore/Browse/ScreenshotCollectionViewCell.swift b/AltStore/Browse/ScreenshotCollectionViewCell.swift index 107f4dc2..d470e39f 100644 --- a/AltStore/Browse/ScreenshotCollectionViewCell.swift +++ b/AltStore/Browse/ScreenshotCollectionViewCell.swift @@ -8,7 +8,7 @@ import UIKit -import Roxas +import RoxasUI @objc(ScreenshotCollectionViewCell) class ScreenshotCollectionViewCell: UICollectionViewCell diff --git a/AltStore/Components/AppBannerView.swift b/AltStore/Components/AppBannerView.swift index 02bd9609..665be4f1 100644 --- a/AltStore/Components/AppBannerView.swift +++ b/AltStore/Components/AppBannerView.swift @@ -9,7 +9,7 @@ import UIKit import AltStoreCore -import Roxas +import RoxasUI class AppBannerView: RSTNibView { diff --git a/AltStore/Components/NavigationBar.swift b/AltStore/Components/NavigationBar.swift index beb46fac..89e1e9d6 100644 --- a/AltStore/Components/NavigationBar.swift +++ b/AltStore/Components/NavigationBar.swift @@ -8,7 +8,7 @@ import UIKit -import Roxas +import RoxasUI final class NavigationBar: UINavigationBar { diff --git a/AltStore/Components/ToastView.swift b/AltStore/Components/ToastView.swift index 6670efbd..648e6177 100644 --- a/AltStore/Components/ToastView.swift +++ b/AltStore/Components/ToastView.swift @@ -6,7 +6,7 @@ // Copyright © 2019 Riley Testut. All rights reserved. // -import Roxas +import RoxasUI import AltStoreCore diff --git a/AltStore/LaunchViewController.swift b/AltStore/LaunchViewController.swift index 0aaf588e..f228dc6a 100644 --- a/AltStore/LaunchViewController.swift +++ b/AltStore/LaunchViewController.swift @@ -7,7 +7,7 @@ // import UIKit -import Roxas +import RoxasUI import EmotionalDamage import minimuxer diff --git a/AltStore/Managing Apps/AppManager.swift b/AltStore/Managing Apps/AppManager.swift index 5bf39ed2..8b9b9d0a 100644 --- a/AltStore/Managing Apps/AppManager.swift +++ b/AltStore/Managing Apps/AppManager.swift @@ -16,7 +16,7 @@ import WidgetKit import AltStoreCore import AltSign -import Roxas +import RoxasUI extension AppManager { diff --git a/AltStore/My Apps/MyAppsComponents.swift b/AltStore/My Apps/MyAppsComponents.swift index 8801b574..b8a332f7 100644 --- a/AltStore/My Apps/MyAppsComponents.swift +++ b/AltStore/My Apps/MyAppsComponents.swift @@ -7,7 +7,7 @@ // import UIKit -import Roxas +import RoxasUI final class InstalledAppCollectionViewCell: UICollectionViewCell { diff --git a/AltStore/My Apps/MyAppsViewController.swift b/AltStore/My Apps/MyAppsViewController.swift index 9f968e16..a166067a 100644 --- a/AltStore/My Apps/MyAppsViewController.swift +++ b/AltStore/My Apps/MyAppsViewController.swift @@ -13,7 +13,7 @@ import Combine import AltStoreCore import AltSign -import Roxas +import RoxasUI import Nuke diff --git a/AltStore/News/NewsViewController.swift b/AltStore/News/NewsViewController.swift index 347d605f..f7cb37e8 100644 --- a/AltStore/News/NewsViewController.swift +++ b/AltStore/News/NewsViewController.swift @@ -10,7 +10,7 @@ import UIKit import SafariServices import AltStoreCore -import Roxas +import RoxasUI import Nuke diff --git a/AltStore/Operations/AuthenticationOperation.swift b/AltStore/Operations/AuthenticationOperation.swift index af510de2..db81fb26 100644 --- a/AltStore/Operations/AuthenticationOperation.swift +++ b/AltStore/Operations/AuthenticationOperation.swift @@ -7,7 +7,7 @@ // import Foundation -import Roxas +import RoxasUI import Network import AltStoreCore diff --git a/AltStore/Operations/DeactivateAppOperation.swift b/AltStore/Operations/DeactivateAppOperation.swift index e96d1fee..f650164d 100644 --- a/AltStore/Operations/DeactivateAppOperation.swift +++ b/AltStore/Operations/DeactivateAppOperation.swift @@ -10,7 +10,7 @@ import Foundation import AltStoreCore import AltSign -import Roxas +import RoxasUI import minimuxer @objc(DeactivateAppOperation) diff --git a/AltStore/Operations/DownloadAppOperation.swift b/AltStore/Operations/DownloadAppOperation.swift index 83820388..656be394 100644 --- a/AltStore/Operations/DownloadAppOperation.swift +++ b/AltStore/Operations/DownloadAppOperation.swift @@ -7,7 +7,7 @@ // import Foundation -import Roxas +import RoxasUI import AltStoreCore import AltSign diff --git a/AltStore/Operations/FetchAnisetteDataOperation.swift b/AltStore/Operations/FetchAnisetteDataOperation.swift index 4a121751..24a4e42c 100644 --- a/AltStore/Operations/FetchAnisetteDataOperation.swift +++ b/AltStore/Operations/FetchAnisetteDataOperation.swift @@ -10,7 +10,7 @@ import Foundation import AltStoreCore import AltSign -import Roxas +import RoxasUI @objc(FetchAnisetteDataOperation) final class FetchAnisetteDataOperation: ResultOperation diff --git a/AltStore/Operations/FetchAppIDsOperation.swift b/AltStore/Operations/FetchAppIDsOperation.swift index 4f75c9e7..2140675d 100644 --- a/AltStore/Operations/FetchAppIDsOperation.swift +++ b/AltStore/Operations/FetchAppIDsOperation.swift @@ -10,7 +10,7 @@ import Foundation import AltStoreCore import AltSign -import Roxas +import RoxasUI @objc(FetchAppIDsOperation) final class FetchAppIDsOperation: ResultOperation<([AppID], NSManagedObjectContext)> diff --git a/AltStore/Operations/FetchProvisioningProfilesOperation.swift b/AltStore/Operations/FetchProvisioningProfilesOperation.swift index e7b0eb30..b543994b 100644 --- a/AltStore/Operations/FetchProvisioningProfilesOperation.swift +++ b/AltStore/Operations/FetchProvisioningProfilesOperation.swift @@ -10,7 +10,7 @@ import Foundation import AltStoreCore import AltSign -import Roxas +import RoxasUI @objc(FetchProvisioningProfilesOperation) final class FetchProvisioningProfilesOperation: ResultOperation<[String: ALTProvisioningProfile]> diff --git a/AltStore/Operations/FetchSourceOperation.swift b/AltStore/Operations/FetchSourceOperation.swift index 443cd037..14826927 100644 --- a/AltStore/Operations/FetchSourceOperation.swift +++ b/AltStore/Operations/FetchSourceOperation.swift @@ -10,7 +10,7 @@ import Foundation import CoreData import AltStoreCore -import Roxas +import RoxasUI @objc(FetchSourceOperation) final class FetchSourceOperation: ResultOperation diff --git a/AltStore/Operations/InstallAppOperation.swift b/AltStore/Operations/InstallAppOperation.swift index f10c1272..0c268aa1 100644 --- a/AltStore/Operations/InstallAppOperation.swift +++ b/AltStore/Operations/InstallAppOperation.swift @@ -10,7 +10,7 @@ import Network import AltStoreCore import AltSign -import Roxas +import RoxasUI @objc(InstallAppOperation) final class InstallAppOperation: ResultOperation diff --git a/AltStore/Operations/Operation.swift b/AltStore/Operations/Operation.swift index baba0384..a6ba1cf4 100644 --- a/AltStore/Operations/Operation.swift +++ b/AltStore/Operations/Operation.swift @@ -7,7 +7,7 @@ // import Foundation -import Roxas +import RoxasUI class ResultOperation: Operation { diff --git a/AltStore/Operations/Patch App/ALTAppPatcher.m b/AltStore/Operations/Patch App/ALTAppPatcher.m index 5cfbbdbe..24526554 100644 --- a/AltStore/Operations/Patch App/ALTAppPatcher.m +++ b/AltStore/Operations/Patch App/ALTAppPatcher.m @@ -12,7 +12,7 @@ #include #include -@import Roxas; +@import RoxasUI; #define CPU_SUBTYPE_PAC 0x80000000 #define FAT_MAGIC 0xcafebabe diff --git a/AltStore/Operations/Patch App/PatchAppOperation.swift b/AltStore/Operations/Patch App/PatchAppOperation.swift index 0d06f6b8..efb8d423 100644 --- a/AltStore/Operations/Patch App/PatchAppOperation.swift +++ b/AltStore/Operations/Patch App/PatchAppOperation.swift @@ -13,7 +13,7 @@ import System import AltStoreCore import AltSign -import Roxas +import RoxasUI @available(iOS 14, *) protocol PatchAppContext diff --git a/AltStore/Operations/Patch App/PatchViewController.swift b/AltStore/Operations/Patch App/PatchViewController.swift index 9e7afec9..2349fe94 100644 --- a/AltStore/Operations/Patch App/PatchViewController.swift +++ b/AltStore/Operations/Patch App/PatchViewController.swift @@ -11,7 +11,7 @@ import Combine import AltStoreCore import AltSign -import Roxas +import RoxasUI @available(iOS 14.0, *) extension PatchViewController diff --git a/AltStore/Operations/RefreshAppOperation.swift b/AltStore/Operations/RefreshAppOperation.swift index 084e281c..8f09d280 100644 --- a/AltStore/Operations/RefreshAppOperation.swift +++ b/AltStore/Operations/RefreshAppOperation.swift @@ -10,7 +10,7 @@ import Foundation import AltStoreCore import AltSign -import Roxas +import RoxasUI import minimuxer @objc(RefreshAppOperation) diff --git a/AltStore/Operations/ResignAppOperation.swift b/AltStore/Operations/ResignAppOperation.swift index 8be28221..7232cb87 100644 --- a/AltStore/Operations/ResignAppOperation.swift +++ b/AltStore/Operations/ResignAppOperation.swift @@ -7,7 +7,7 @@ // import Foundation -import Roxas +import RoxasUI import AltStoreCore import AltSign diff --git a/AltStore/Operations/VerifyAppOperation.swift b/AltStore/Operations/VerifyAppOperation.swift index c595d52f..12d7c73c 100644 --- a/AltStore/Operations/VerifyAppOperation.swift +++ b/AltStore/Operations/VerifyAppOperation.swift @@ -9,7 +9,7 @@ import Foundation import AltSign -import Roxas +import RoxasUI enum VerificationError: ALTLocalizedError { diff --git a/AltStore/Settings/Error Log/ErrorLogViewController.swift b/AltStore/Settings/Error Log/ErrorLogViewController.swift index 7a67a301..5c73dbac 100644 --- a/AltStore/Settings/Error Log/ErrorLogViewController.swift +++ b/AltStore/Settings/Error Log/ErrorLogViewController.swift @@ -10,7 +10,7 @@ import UIKit import SafariServices import AltStoreCore -import Roxas +import RoxasUI import Nuke diff --git a/AltStore/Settings/PatreonViewController.swift b/AltStore/Settings/PatreonViewController.swift index 3caab7a2..54425868 100644 --- a/AltStore/Settings/PatreonViewController.swift +++ b/AltStore/Settings/PatreonViewController.swift @@ -11,7 +11,7 @@ import SafariServices import AuthenticationServices import AltStoreCore -import Roxas +import RoxasUI extension PatreonViewController { diff --git a/AltStore/Settings/RefreshAttemptsViewController.swift b/AltStore/Settings/RefreshAttemptsViewController.swift index d00a834d..cae2d60c 100644 --- a/AltStore/Settings/RefreshAttemptsViewController.swift +++ b/AltStore/Settings/RefreshAttemptsViewController.swift @@ -9,7 +9,7 @@ import UIKit import AltStoreCore -import Roxas +import RoxasUI @objc(RefreshAttemptTableViewCell) private final class RefreshAttemptTableViewCell: UITableViewCell diff --git a/AltStore/Settings/SettingsHeaderFooterView.swift b/AltStore/Settings/SettingsHeaderFooterView.swift index 89d1d4a6..8dbb179e 100644 --- a/AltStore/Settings/SettingsHeaderFooterView.swift +++ b/AltStore/Settings/SettingsHeaderFooterView.swift @@ -8,7 +8,7 @@ import UIKit -import Roxas +import RoxasUI final class SettingsHeaderFooterView: UITableViewHeaderFooterView { diff --git a/AltStore/Sources/SourcesViewController.swift b/AltStore/Sources/SourcesViewController.swift index 7a42e446..0964aace 100644 --- a/AltStore/Sources/SourcesViewController.swift +++ b/AltStore/Sources/SourcesViewController.swift @@ -10,7 +10,7 @@ import UIKit import CoreData import AltStoreCore -import Roxas +import RoxasUI struct SourceError: LocalizedError { diff --git a/AltStoreCore/Patreon/PatreonAPI.swift b/AltStoreCore/Patreon/PatreonAPI.swift index df758653..50219826 100644 --- a/AltStoreCore/Patreon/PatreonAPI.swift +++ b/AltStoreCore/Patreon/PatreonAPI.swift @@ -268,11 +268,11 @@ public extension PatreonAPI { let account = try result.get() - if let context = account.managedObjectContext, !account.isPatron - { +// if let context = account.managedObjectContext, !account.isPatron +// { // Deactivate all beta apps now that we're no longer a patron. //self.deactivateBetaApps(in: context) - } +// } try account.managedObjectContext?.save() } diff --git a/Shared/Connections/Connection.swift b/Shared/Connections/Connection.swift index 4fe7ba92..4caa0fc4 100644 --- a/Shared/Connections/Connection.swift +++ b/Shared/Connections/Connection.swift @@ -10,7 +10,12 @@ import Foundation import Network import SideKit -public extension Connection +public protocol SideConnection: Connection { + func __send(_ data: Data, completionHandler: @escaping (Bool, Error?) -> Void) + func __receiveData(expectedSize: Int, completionHandler: @escaping (Data?, Error?) -> Void) +} + +public extension SideConnection { func send(_ data: Data, completionHandler: @escaping (Result) -> Void) { @@ -24,7 +29,7 @@ public extension Connection completionHandler(result) } } - + func receiveData(expectedSize: Int, completionHandler: @escaping (Result) -> Void) { self.__receiveData(expectedSize: expectedSize) { (data, error) in @@ -32,7 +37,7 @@ public extension Connection guard let nwError = failure as? NWError else { return ALTServerError.init(failure) } return ALTServerError.lostConnection(underlyingError: nwError) } - + completionHandler(result) } } diff --git a/Shared/Connections/NetworkConnection.swift b/Shared/Connections/NetworkConnection.swift index d4bb7a7c..d81af08b 100644 --- a/Shared/Connections/NetworkConnection.swift +++ b/Shared/Connections/NetworkConnection.swift @@ -10,7 +10,7 @@ import Foundation import Network import SideKit -public class NetworkConnection: NSObject, Connection +public class NetworkConnection: NSObject, SideConnection { public let nwConnection: NWConnection diff --git a/Shared/Connections/XPCConnection.swift b/Shared/Connections/XPCConnection.swift index 9463f09e..e3fb5453 100644 --- a/Shared/Connections/XPCConnection.swift +++ b/Shared/Connections/XPCConnection.swift @@ -23,7 +23,7 @@ extension XPCConnection public static let machServiceNames = [unc0verMachServiceName, odysseyMachServiceName] } -public class XPCConnection: NSObject, Connection +public class XPCConnection: NSObject, SideConnection { public let xpcConnection: NSXPCConnection