ios – 我需要明确swift 3兼容性和API可用性之间的区别

一些例子:在 swift 2中我们有NSData和NSUrl;在swift 3中我们有数据和URL.如果您点击数据,则表示可以从iOS 10及更高版本获得.

请有人解释以下内容:如果Apple文档说某些内容仅适用于iOS 10及更高版本,那是否意味着我只能在目标为iOS 10及更高版本的应用上使用它?

我已经读过Swift 3与iOS 8兼容,但这些更改(例如NSData to Data)是从Swift 2迁移到3的一部分.因此,如果Data仅在iOS 10及更高版本中可用,那么它是什么意思说Swift 3与iOS 8兼容?

我想,从本质上讲,我对API可用性和Swift 3兼容性之间的区别感到困惑.

非常感谢您的帮助.

解决方法

如果Apple文档说某些内容仅适用于iOS 10及更高版本,那是否意味着我只能在目标为iOS 10及更高版本的应用上使用它?

不可以.Apple文档的可用性部分可能会显示两种不同的信息 – SDK可用性和目标操作系统可用性.

对于Data,标准库的Data代码兼容所有iOS 8及更高版本,但标准库包括Data(Swift 3标准库)仅包含在iOS SDK 10或更高版本中,Apple的doc的可用性部分表示该含义中的“可用性”.

This thread in the Apple’s dev forums会有所帮助.通常,您可以依赖Xcode / Swift的可用性检查功能.当您将项目的最低目标标记为iOS 8.0并且没有获得有关可用性的警告时,项目中使用的所有功能都应该适用于iOS 8.0设备.

您可以发送bug report作为文档错误.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...