我有一个要求,需要从 iOS 设备调用具有以下有效负载的 API
{
"version" : "18",
"model" : "iPhone13,2"
}
版本是指设备的最新版本号
在数据库中,我们维护一个表,用于存储每个操作系统和型号的版本信息。如果请求中提供的版本大于数据库中存储的版本,我们会相应更新数据库。
但是,在 iOS 设备上存在一个问题。有时,会发布测试版(例如版本 18),但并未正式发布。因此,来自 iOS 设备的请求可能会发送版本 18 作为最新版本。有没有办法判断版本是测试版还是正式版?
使用SwiftUI进行开发
提前致谢
要确定 iOS 版本是 Beta 版本还是正式版本,您可以在 SwiftUI 应用程序中使用以下方法。不幸的是,Apple 没有提供直接的 API 来检查正在运行的操作系统版本是否是测试版。但是,您可以使用版本字符串和其他系统信息来推断它。
检查系统版本中的Beta指标 Apple 通常会在 Beta 版本发布期间将特定标识符(例如 b 或 a)附加到版本字符串中。您可以检查系统版本字符串中的这些指标:
import SwiftUI
func isBetaOS() -> Bool {
let osVersion = ProcessInfo.processInfo.operatingSystemVersionString
// Check for typical beta indicators in the version string
if osVersion.contains("beta") || osVersion.contains("a") || osVersion.contains("b") {
return true
}
return false
}