mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-18 03:03:31 +01:00
[FIX] App compatibility info
This commit is contained in:
@@ -55,8 +55,8 @@ internal enum L10n {
|
|||||||
internal static let restoreBackup = L10n.tr("Localizable", "AppAction.restoreBackup", fallback: "Restore backup")
|
internal static let restoreBackup = L10n.tr("Localizable", "AppAction.restoreBackup", fallback: "Restore backup")
|
||||||
}
|
}
|
||||||
internal enum AppDetailView {
|
internal enum AppDetailView {
|
||||||
///
|
/// Information
|
||||||
internal static let information = L10n.tr("Localizable", "AppDetailView.information", fallback: "")
|
internal static let information = L10n.tr("Localizable", "AppDetailView.information", fallback: "Information")
|
||||||
/// More...
|
/// More...
|
||||||
internal static let more = L10n.tr("Localizable", "AppDetailView.more", fallback: "More...")
|
internal static let more = L10n.tr("Localizable", "AppDetailView.more", fallback: "More...")
|
||||||
/// The app requires no permissions.
|
/// The app requires no permissions.
|
||||||
@@ -88,6 +88,8 @@ internal enum L10n {
|
|||||||
internal static func compatibilityAtLeast(_ p1: Any) -> String {
|
internal static func compatibilityAtLeast(_ p1: Any) -> String {
|
||||||
return L10n.tr("Localizable", "AppDetailView.Information.compatibilityAtLeast", String(describing: p1), fallback: "Requires iOS %@ or higher")
|
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
|
/// Requires iOS %@ or lower
|
||||||
internal static func compatibilityOrLower(_ p1: Any) -> String {
|
internal static func compatibilityOrLower(_ p1: Any) -> String {
|
||||||
return L10n.tr("Localizable", "AppDetailView.Information.compatibilityOrLower", String(describing: p1), fallback: "Requires iOS %@ or lower")
|
return L10n.tr("Localizable", "AppDetailView.Information.compatibilityOrLower", String(describing: p1), fallback: "Requires iOS %@ or lower")
|
||||||
|
|||||||
@@ -138,6 +138,7 @@
|
|||||||
"AppDetailView.Information.size" = "Size";
|
"AppDetailView.Information.size" = "Size";
|
||||||
"AppDetailView.Information.latestVersion" = "Latest Version";
|
"AppDetailView.Information.latestVersion" = "Latest Version";
|
||||||
"AppDetailView.Information.compatibility" = "Compatibility";
|
"AppDetailView.Information.compatibility" = "Compatibility";
|
||||||
|
"AppDetailView.Information.compatibilityCompatible" = "Unknown";
|
||||||
"AppDetailView.Information.compatibilityUnknown" = "Unknown";
|
"AppDetailView.Information.compatibilityUnknown" = "Unknown";
|
||||||
"AppDetailView.Information.compatibilityAtLeast" = "Requires iOS %@ or higher";
|
"AppDetailView.Information.compatibilityAtLeast" = "Requires iOS %@ or higher";
|
||||||
"AppDetailView.Information.compatibilityOrLower" = "Requires iOS %@ or lower";
|
"AppDetailView.Information.compatibilityOrLower" = "Requires iOS %@ or lower";
|
||||||
|
|||||||
@@ -371,8 +371,11 @@ struct AppDetailView: View {
|
|||||||
(L10n.AppDetailView.Information.latestVersion, self.storeApp.latestVersion?.version ?? ""),
|
(L10n.AppDetailView.Information.latestVersion, self.storeApp.latestVersion?.version ?? ""),
|
||||||
]
|
]
|
||||||
|
|
||||||
var compatibility: String = L10n.AppDetailView.Information.compatibilityUnknown
|
|
||||||
let iOSVersion = ProcessInfo.processInfo.operatingSystemVersion
|
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 {
|
if let minOSVersion = latestVersion.minOSVersion, ProcessInfo.processInfo.isOperatingSystemAtLeast(minOSVersion) == false {
|
||||||
compatibility = L10n.AppDetailView.Information.compatibilityAtLeast(minOSVersion.stringValue)
|
compatibility = L10n.AppDetailView.Information.compatibilityAtLeast(minOSVersion.stringValue)
|
||||||
|
|||||||
Reference in New Issue
Block a user