From c46a50ec580eddaf1ad5e7587d1f4ccf4f9d2313 Mon Sep 17 00:00:00 2001 From: Fabian Thies Date: Sat, 4 Feb 2023 14:35:58 +0100 Subject: [PATCH] [FIX] App compatibility info --- AltStore/Generated/Localizations.swift | 6 ++++-- AltStore/Resources/en.lproj/Localizable.strings | 1 + AltStore/Views/App Detail/AppDetailView.swift | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/AltStore/Generated/Localizations.swift b/AltStore/Generated/Localizations.swift index dfd97399..6da01872 100644 --- a/AltStore/Generated/Localizations.swift +++ b/AltStore/Generated/Localizations.swift @@ -55,8 +55,8 @@ internal enum L10n { internal static let restoreBackup = L10n.tr("Localizable", "AppAction.restoreBackup", fallback: "Restore backup") } internal enum AppDetailView { - /// - internal static let information = L10n.tr("Localizable", "AppDetailView.information", fallback: "") + /// Information + internal static let information = L10n.tr("Localizable", "AppDetailView.information", fallback: "Information") /// More... internal static let more = L10n.tr("Localizable", "AppDetailView.more", fallback: "More...") /// The app requires no permissions. @@ -88,6 +88,8 @@ internal enum L10n { internal static func compatibilityAtLeast(_ p1: Any) -> String { return L10n.tr("Localizable", "AppDetailView.Information.compatibilityAtLeast", String(describing: p1), fallback: "Requires iOS %@ or higher") } + /// Unknown + internal static let compatibilityCompatible = L10n.tr("Localizable", "AppDetailView.Information.compatibilityCompatible", fallback: "Unknown") /// Requires iOS %@ or lower internal static func compatibilityOrLower(_ p1: Any) -> String { return L10n.tr("Localizable", "AppDetailView.Information.compatibilityOrLower", String(describing: p1), fallback: "Requires iOS %@ or lower") diff --git a/AltStore/Resources/en.lproj/Localizable.strings b/AltStore/Resources/en.lproj/Localizable.strings index c7e35fe3..dd1e0e6d 100644 --- a/AltStore/Resources/en.lproj/Localizable.strings +++ b/AltStore/Resources/en.lproj/Localizable.strings @@ -138,6 +138,7 @@ "AppDetailView.Information.size" = "Size"; "AppDetailView.Information.latestVersion" = "Latest Version"; "AppDetailView.Information.compatibility" = "Compatibility"; +"AppDetailView.Information.compatibilityCompatible" = "Unknown"; "AppDetailView.Information.compatibilityUnknown" = "Unknown"; "AppDetailView.Information.compatibilityAtLeast" = "Requires iOS %@ or higher"; "AppDetailView.Information.compatibilityOrLower" = "Requires iOS %@ or lower"; diff --git a/AltStore/Views/App Detail/AppDetailView.swift b/AltStore/Views/App Detail/AppDetailView.swift index 18ff75ec..0347115d 100644 --- a/AltStore/Views/App Detail/AppDetailView.swift +++ b/AltStore/Views/App Detail/AppDetailView.swift @@ -371,8 +371,11 @@ struct AppDetailView: View { (L10n.AppDetailView.Information.latestVersion, self.storeApp.latestVersion?.version ?? ""), ] - var compatibility: String = L10n.AppDetailView.Information.compatibilityUnknown let iOSVersion = ProcessInfo.processInfo.operatingSystemVersion + let hasCompatibilityInfo = [latestVersion.minOSVersion, latestVersion.maxOSVersion].compactMap({ $0 }).isEmpty == false + var compatibility: String = hasCompatibilityInfo ? + L10n.AppDetailView.Information.compatibilityCompatible : + L10n.AppDetailView.Information.compatibilityUnknown if let minOSVersion = latestVersion.minOSVersion, ProcessInfo.processInfo.isOperatingSystemAtLeast(minOSVersion) == false { compatibility = L10n.AppDetailView.Information.compatibilityAtLeast(minOSVersion.stringValue)