automatic resetting of collections
This commit is contained in:
1 parent
913110be91
commit
60aa215d6b
3 files changed
+30
-3
No files matched your search
@@ -264,7 +264,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 2;
|
||||||
DEVELOPMENT_ASSET_PATHS = "\"Pocket Poster/Preview Content\"";
|
DEVELOPMENT_ASSET_PATHS = "\"Pocket Poster/Preview Content\"";
|
||||||
DEVELOPMENT_TEAM = 2P4CP47H76;
|
DEVELOPMENT_TEAM = 2P4CP47H76;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
@@ -296,7 +296,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||||
CODE_SIGN_STYLE = Automatic;
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = 1;
|
CURRENT_PROJECT_VERSION = 2;
|
||||||
DEVELOPMENT_ASSET_PATHS = "\"Pocket Poster/Preview Content\"";
|
DEVELOPMENT_ASSET_PATHS = "\"Pocket Poster/Preview Content\"";
|
||||||
DEVELOPMENT_TEAM = 2P4CP47H76;
|
DEVELOPMENT_TEAM = 2P4CP47H76;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
|
|||||||
@@ -28,6 +28,23 @@ class PosterBoardManager: ObservableObject {
|
|||||||
return tendiesStoreURL
|
return tendiesStoreURL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func setSystemLanguage(to new_lang: String) -> Bool {
|
||||||
|
var langManager: NSObject = NSObject()
|
||||||
|
if #available(iOS 18.0, *) {
|
||||||
|
guard let obj = objc_getClass("IPSettingsUtilities") as? NSObject else { return false }
|
||||||
|
langManager = obj
|
||||||
|
} else {
|
||||||
|
guard let obj = objc_getClass("PSLanguageSelector") as? NSObject else { return false }
|
||||||
|
langManager = obj
|
||||||
|
}
|
||||||
|
|
||||||
|
if let success = langManager.perform(Selector(("setLanguage:")), with: new_lang) {
|
||||||
|
return success != nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func openPosterBoard() -> Bool {
|
func openPosterBoard() -> Bool {
|
||||||
guard let obj = objc_getClass("LSApplicationWorkspace") as? NSObject else { return false }
|
guard let obj = objc_getClass("LSApplicationWorkspace") as? NSObject else { return false }
|
||||||
let workspace = obj.perform(Selector(("defaultWorkspace")))?.takeUnretainedValue() as? NSObject
|
let workspace = obj.perform(Selector(("defaultWorkspace")))?.takeUnretainedValue() as? NSObject
|
||||||
|
|||||||
@@ -174,7 +174,17 @@ struct ContentView: View {
|
|||||||
.buttonStyle(TintedButton(color: .blue, fullwidth: true))
|
.buttonStyle(TintedButton(color: .blue, fullwidth: true))
|
||||||
}
|
}
|
||||||
Button(action: {
|
Button(action: {
|
||||||
hideResetHelp = false
|
guard let lang = UserDefaults.standard.stringArray(forKey: "AppleLanguages")?.first else {
|
||||||
|
hideResetHelp = false // fallback to tutorial
|
||||||
|
return
|
||||||
|
}
|
||||||
|
UIApplication.shared.confirmAlert(title: "Reset Collections", body: "Do you want to reset collections?", onOK: {
|
||||||
|
if PosterBoardManager.shared.setSystemLanguage(to: lang) {
|
||||||
|
UIApplication.shared.alert(title: "Collections Successfully Reset!", body: "Your PosterBoard will refresh automatically.")
|
||||||
|
} else {
|
||||||
|
UIApplication.shared.alert(body: "The API failed to call correctly.\nSystem Locale Code: \(lang)")
|
||||||
|
}
|
||||||
|
}, noCancel: false)
|
||||||
}) {
|
}) {
|
||||||
Text("Reset Collections")
|
Text("Reset Collections")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user