如何使用 Swift 以编程方式确定最新的 iOS 版本?



我目前正在构建一个基于 Swift 的 iOS 应用程序。

在我的应用程序中,我想验证设备的特定安全功能。

其中之一是确保设备安装了最新的iOS版本。

当然,在设备上获取当前安装的iOS版本非常简单。 但是我似乎找不到任何 API 以编程方式确定最新的可用 iOS 版本是什么。

有一些 API 可以做到这一点吗? 或者,也许我可以在Apple网站上调用一些REST API来收集这些信息?

Apple 在curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version上提供了一个 API。使用以下方法在命令行上对其进行测试:

curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version

响应是XML,您需要的信息按设备版本(例如iPhone8,1(键控。

您可以使用 Swift 中的sysctlbyname()访问设备的版本。

更新看起来旧的URL(http://phobos.apple.com./version(在不久前就死了(感谢特洛伊(,所以用另一个版本更新了我的答案。我不知道内容是否相同。

最新更新