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

the*_*ing 8 ios swift ios10

一些例子:在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兼容性之间的区别感到困惑.

非常感谢您的帮助.

OOP*_*Per 3

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

不会。Apple 文档的可用性部分可能会显示两种不同类型的信息——SDK 可用性和目标操作系统可用性。

在 的情况下Data,标准库代码Data兼容所有 iOS 8 及更高版本,但标准库Data(包括 Swift 3 标准库)仅包含在 iOS SDK 10 或更高版本中,Apple 文档的可用性部分代表“可用性”就是这个意思。

苹果开发论坛中的这个帖子会有所帮助。一般来说,您可以依赖 Xcode/Swift 的可用性检查功能。当您将项目的最低目标标记为 iOS 8.0 并且您没有收到有关可用性的警告时,项目中使用的所有功能都应该在 iOS 8.0 设备上运行。

您可以将有关此问题的错误报告作为文档错误发送。