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

4
我目前正在开发一款基于Swift的iOS应用程序。
在我的应用程序中,我想要验证设备的特定安全功能。
其中之一是确保设备已安装最新的iOS版本。
当然,获取设备上当前安装的iOS版本非常简单。但我似乎找不到任何API来编程确定最新可用的iOS版本。
是否有API可以实现此功能?或者是我可以在苹果网站上调用的某个REST API来获取这些信息?

2
也许你可以在 你的 网站配置一个 API,应用程序可以进行检查。有点类似 Sparkle 的工作方式。 - matt
创建托管的API是一种可能性。我认为这需要手动更新服务器中的iOS版本,这比要求新的应用程序版本要好,但仍然只是将问题转移。 - Ryan0751
也许你可以设置一些东西来解析苹果的网站,查找最新版本...或者使用 维基百科,这可能会更容易通过 API 进行管理?或者你可以在你的应用程序中硬编码最新的 iOS 版本,然后每当苹果发布更新时更新你的应用程序,这样很容易检查用户是否拥有你的应用程序的最新版本。 - shim
@shim "然后检查用户是否拥有您的应用程序的最新版本就非常容易了" 如何实现? - matt
例如:https://github.com/ArtSabintsev/Siren - shim
1个回答

6

苹果提供了一个API,网址为curl http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.appserver.client.MZITunesClientCheck/version。您可以在命令行上使用以下命令进行测试:

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

响应是XML格式的,您需要的信息是按设备版本(例如)键入的。
您可以通过使用Swift中的sysctlbyname()访问设备的版本。 更新 看起来旧的URL(http://phobos.apple.com./version)已经挂了一段时间(感谢Troy),因此我已经用另一个版本更新了我的答案。 我不知道内容是否相同。

这是一个合法的phobos.apple.com/version网站吗? - Maninder Singh
1
@ManinderSingh 我认为它可能不是最新的技术,但由于苹果公司一直在使用它,所以它应该还能保持一段时间的好用。 - jjrscott
1
网址已经失效。 - Troy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接