From 99eba91bad47b577b65f071d7596ed065326fd5b Mon Sep 17 00:00:00 2001 From: leminlimez Date: Sun, 13 Jul 2025 14:43:11 -0400 Subject: [PATCH] fall back to the tutorial menu on ios 17 --- .../Controllers/PosterBoardManager.swift | 1 + Pocket Poster/Views/ContentView.swift | 24 +++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Pocket Poster/Controllers/PosterBoardManager.swift b/Pocket Poster/Controllers/PosterBoardManager.swift index df51564..8b45a4d 100644 --- a/Pocket Poster/Controllers/PosterBoardManager.swift +++ b/Pocket Poster/Controllers/PosterBoardManager.swift @@ -35,6 +35,7 @@ class PosterBoardManager: ObservableObject { guard let obj = objc_getClass("IPSettingsUtilities") as? NSObject else { return false } langManager = obj } else { + // TODO: Need to find the correct class for this on iOS 17 guard let obj = objc_getClass("PSLanguageSelector") as? NSObject else { return false } langManager = obj } diff --git a/Pocket Poster/Views/ContentView.swift b/Pocket Poster/Views/ContentView.swift index 576c748..3383456 100644 --- a/Pocket Poster/Views/ContentView.swift +++ b/Pocket Poster/Views/ContentView.swift @@ -99,17 +99,21 @@ struct ContentView: View { .buttonStyle(TintedButton(color: .blue, fullwidth: true)) } Button(action: { - guard let lang = UserDefaults.standard.stringArray(forKey: "AppleLanguages")?.first else { - hideResetHelp = false // fallback to tutorial - return - } - UIApplication.shared.confirmAlert(title: NSLocalizedString("Reset Collections", comment: ""), body: NSLocalizedString("Do you want to reset collections?", comment: ""), onOK: { - if pbManager.setSystemLanguage(to: lang) { - UIApplication.shared.alert(title: NSLocalizedString("Collections Successfully Reset!", comment: ""), body: NSLocalizedString("Your PosterBoard will refresh automatically.", comment: "")) - } else { - UIApplication.shared.alert(body: "The API failed to call correctly.\nSystem Locale Code: \(lang)") + if #available(iOS 18.0, *) { + guard let lang = UserDefaults.standard.stringArray(forKey: "AppleLanguages")?.first else { + hideResetHelp = false // fallback to tutorial + return } - }, noCancel: false) + UIApplication.shared.confirmAlert(title: NSLocalizedString("Reset Collections", comment: ""), body: NSLocalizedString("Do you want to reset collections?", comment: ""), onOK: { + if pbManager.setSystemLanguage(to: lang) { + UIApplication.shared.alert(title: NSLocalizedString("Collections Successfully Reset!", comment: ""), body: NSLocalizedString("Your PosterBoard will refresh automatically.", comment: "")) + } else { + UIApplication.shared.alert(body: "The API failed to call correctly.\nSystem Locale Code: \(lang)") + } + }, noCancel: false) + } else { + hideResetHelp = false + } }) { Label("Reset Collections", systemImage: "arrow.clockwise.circle") }