Swift 3 iOS 兼容性

Posted

技术标签:

【中文标题】Swift 3 iOS 兼容性【英文标题】:Swift 3 iOS compatibility 【发布时间】:2016-06-28 05:24:52 【问题描述】:

我是 Apple 开发的新手,很快我将通过 AppStore 分发我的应用程序。所以现在我使用的是 Swift 3,默认情况下部署目标设置为 ios 10.0 这意味着我将无法使其在 iOS 8-9 上运行? '因为在 Swift 3 中我使用了在以后的操作系统中不可用的新函数

【问题讨论】:

【参考方案1】:

您可以通过将部署目标设置为这些版本之一,让您的应用在 iOS 8 和 9 上运行。 Swift 3.x 兼容 iOS 8 和更新版本(我不确定,但它可能也兼容 iOS 7)。与 Swift 2.2 的唯一区别(关于系统要求)是您必须使用 Xcode 8。

当您将部署目标设置为比 iOS 10 更早的版本时,您应该知道您不能使用 iOS 10 中的新 API。(除非您使用 #available 运算符)但是使用 Swift 3 应该是不行的问题。

编辑:您现在可以使用 Xcode 8.0 GM 上传以 Swift 3 编写的应用程序

【讨论】:

这个答案很有帮助,但我很好奇是否有人知道 Swift 3 是否与 iOS 7 兼容? @rtcarlson 早期版本与 iOS 7 兼容。***.com/questions/24001778/… 所以我认为 Swift 3 也可以。但我无法验证这一点。 @FelixSFD 操作系统版本要求是什么,el 标题可以吗?【参考方案2】:

您应该使用 Swift 3.x(自发布此答案以来,它是 Swift 的最新版本)。

iOS 版本与您应该使用的 Swift 版本无关,相反,一些新提供的 api 确实支持最低版本的操作系统。但是 - 再次 - 它与它本身的编程语言无关。例如:通过 Swift 2.x(部署目标 9.x)构建的应用程序应该可以在 iOS 10 上运行;在更新 IDE (xcode) 时,它将默认支持最新版本的编程语言 -Swift-。

另外,你可以这样做:

if #available(iOS 10, *) 
    // use an api that requires the minimum version to be 10
 else 
    // use another api

【讨论】:

以上是关于Swift 3 iOS 兼容性的主要内容,如果未能解决你的问题,请参考以下文章

向后iOS兼容性 - Swift 2

swift 3 中的 DISPATCH_TIME_NOW 和向后兼容性

CoreDataManager-Swift版-兼容iOS10以前的版本

Xcode 11.3.1 兼容性

IOS Swift Amazon S3 传输实用程序 - nil 与预期的参数类型 nsurl 不兼容

Xcode 兼容性的 Swift 框架问题