一些例子:在
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作为文档错误.