diff --git a/AltStore/Settings.bundle/Root.plist b/AltStore/Settings.bundle/Root.plist index dc88137f..26696d24 100644 --- a/AltStore/Settings.bundle/Root.plist +++ b/AltStore/Settings.bundle/Root.plist @@ -8,15 +8,61 @@ group.$(APP_GROUP_IDENTIFIER) PreferenceSpecifiers + + Type + PSMultiValueSpecifier + Title + Anisette Server + Key + customAnisetteURL + DefaultValue + http://191.101.206.188:6969 + Titles + + Macley (US) + Macley (DE) + DrPudding + jkcoxson (AltServer) + jkcoxson (Provision) + Sideloadly + Nick + Jawshoeadan + + Values + + http://us1.sternserv.tech + http://de1.sternserv.tech + https://sign.rheaa.xyz + http://jkcoxson.com:2095 + http://jkcoxson.com:2052 + https://sideloadly.io/anisette/irGb3Quww8zrhgqnzmrx + http://45.33.29.114 + https://anisette.jawshoeadan.me + + + + Type + PSGroupSpecifier + Title + Danger Zone + + + Type + PSToggleSwitchSpecifier + Title + Use preferred servers + Key + textServer + DefaultValue + + Type PSTextFieldSpecifier Title Anisette URL Key - customAnisetteURL - IsSecure - Alphabet + textInputAnisetteURL AutocapitalizationType None AutocorrectionType diff --git a/AltStore/Settings/AnisetteManager.swift b/AltStore/Settings/AnisetteManager.swift index 9db5157a..4edc4617 100644 --- a/AltStore/Settings/AnisetteManager.swift +++ b/AltStore/Settings/AnisetteManager.swift @@ -12,12 +12,26 @@ public struct AnisetteManager { /// User defined URL from Settings/UserDefaults static var userURL: String? { - guard let urlString = UserDefaults.standard.customAnisetteURL, !urlString.isEmpty else { return nil } + var urlString: String? + + if UserDefaults.standard.textServer == false { + urlString = UserDefaults.standard.textInputAnisetteURL + } + else { + urlString = UserDefaults.standard.customAnisetteURL + } + + + // guard let urlString = UserDefaults.standard.customAnisetteURL, !urlString.isEmpty else { return nil } + // Test it's a valid URL - guard URL(string: urlString) != nil else { + + if let urlString = urlString { + guard URL(string: urlString) != nil else { ELOG("UserDefaults has invalid `customAnisetteURL`") assertionFailure("UserDefaults has invalid `customAnisetteURL`") return nil + } } return urlString } diff --git a/AltStoreCore/Extensions/UserDefaults+AltStore.swift b/AltStoreCore/Extensions/UserDefaults+AltStore.swift index 5b331092..d780073f 100644 --- a/AltStoreCore/Extensions/UserDefaults+AltStore.swift +++ b/AltStoreCore/Extensions/UserDefaults+AltStore.swift @@ -21,6 +21,8 @@ public extension UserDefaults @NSManaged var firstLaunch: Date? @NSManaged var requiresAppGroupMigration: Bool + @NSManaged var textServer: Bool + @NSManaged var textInputAnisetteURL: String? @NSManaged var customAnisetteURL: String? @NSManaged var preferredServerID: String?