mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-09 06:43:25 +01:00
Better anisette settings
adds multivalue selector for some anisette servers
This commit is contained in:
@@ -8,15 +8,61 @@
|
||||
<string>group.$(APP_GROUP_IDENTIFIER)</string>
|
||||
<key>PreferenceSpecifiers</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>Type</key>
|
||||
<string>PSMultiValueSpecifier</string>
|
||||
<key>Title</key>
|
||||
<string>Anisette Server</string>
|
||||
<key>Key</key>
|
||||
<string>customAnisetteURL</string>
|
||||
<key>DefaultValue</key>
|
||||
<string>http://191.101.206.188:6969</string>
|
||||
<key>Titles</key>
|
||||
<array>
|
||||
<string>Macley (US)</string>
|
||||
<string>Macley (DE)</string>
|
||||
<string>DrPudding</string>
|
||||
<string>jkcoxson (AltServer)</string>
|
||||
<string>jkcoxson (Provision)</string>
|
||||
<string>Sideloadly</string>
|
||||
<string>Nick</string>
|
||||
<string>Jawshoeadan</string>
|
||||
</array>
|
||||
<key>Values</key>
|
||||
<array>
|
||||
<string>http://us1.sternserv.tech</string>
|
||||
<string>http://de1.sternserv.tech</string>
|
||||
<string>https://sign.rheaa.xyz</string>
|
||||
<string>http://jkcoxson.com:2095</string>
|
||||
<string>http://jkcoxson.com:2052</string>
|
||||
<string>https://sideloadly.io/anisette/irGb3Quww8zrhgqnzmrx</string>
|
||||
<string>http://45.33.29.114</string>
|
||||
<string>https://anisette.jawshoeadan.me</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Type</key>
|
||||
<string>PSGroupSpecifier</string>
|
||||
<key>Title</key>
|
||||
<string>Danger Zone</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Type</key>
|
||||
<string>PSToggleSwitchSpecifier</string>
|
||||
<key>Title</key>
|
||||
<string>Use preferred servers</string>
|
||||
<key>Key</key>
|
||||
<string>textServer</string>
|
||||
<key>DefaultValue</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Type</key>
|
||||
<string>PSTextFieldSpecifier</string>
|
||||
<key>Title</key>
|
||||
<string>Anisette URL</string>
|
||||
<key>Key</key>
|
||||
<string>customAnisetteURL</string>
|
||||
<key>IsSecure</key>
|
||||
<string>Alphabet</string>
|
||||
<string>textInputAnisetteURL</string>
|
||||
<key>AutocapitalizationType</key>
|
||||
<string>None</string>
|
||||
<key>AutocorrectionType</key>
|
||||
|
||||
@@ -12,13 +12,27 @@ 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
|
||||
|
||||
if let urlString = urlString {
|
||||
guard URL(string: urlString) != nil else {
|
||||
ELOG("UserDefaults has invalid `customAnisetteURL`")
|
||||
assertionFailure("UserDefaults has invalid `customAnisetteURL`")
|
||||
return nil
|
||||
}
|
||||
}
|
||||
return urlString
|
||||
}
|
||||
static var defaultURL: String {
|
||||
|
||||
@@ -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?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user