diff --git a/yobble/Services/AppUpdateChecker.swift b/yobble/Services/AppUpdateChecker.swift index acf890c..93df906 100644 --- a/yobble/Services/AppUpdateChecker.swift +++ b/yobble/Services/AppUpdateChecker.swift @@ -62,8 +62,9 @@ final class AppUpdateChecker: ObservableObject { softUpdateNotice = nil } - func openAppStore() { - guard let url = needUpdateNotice?.appStoreURL + func openAppStore(link overrideURL: URL? = nil) { + guard let url = overrideURL + ?? needUpdateNotice?.appStoreURL ?? forceUpdateNotice?.appStoreURL ?? softUpdateNotice?.appStoreURL else { return diff --git a/yobble/yobbleApp.swift b/yobble/yobbleApp.swift index 3eba1a0..b4b47df 100644 --- a/yobble/yobbleApp.swift +++ b/yobble/yobbleApp.swift @@ -26,7 +26,7 @@ struct yobbleApp: App { NeedUpdateView( title: notice.title, message: notice.message, - onUpdate: { updateChecker.openAppStore() } + onUpdate: { updateChecker.openAppStore(link: notice.appStoreURL) } ) } else { ZStack(alignment: .top) { @@ -76,12 +76,12 @@ struct yobbleApp: App { } } )) { notice in - Alert( - title: Text(notice.title), - message: Text(notice.message), - primaryButton: .default(Text(NSLocalizedString("Обновить", comment: ""))) { - updateChecker.openAppStore() - }, + Alert( + title: Text(notice.title), + message: Text(notice.message), + primaryButton: .default(Text(NSLocalizedString("Обновить", comment: ""))) { + updateChecker.openAppStore(link: notice.appStoreURL) + }, secondaryButton: .cancel(Text(NSLocalizedString("Позже", comment: ""))) { updateChecker.dismissSoftUpdateIfNeeded() }