2016-06-28 88 views
25

我是苹果开发新手,很快我会通过AppStore分发我的应用程序。所以现在我使用的是Swift 3,默认情况下,部署目标设置为iOS 10.0。这意味着我无法在iOS 8-9上运行它。 “因为在斯威夫特3我使用新funcs中哪些不是在以后的操作系统提供Swift 3 iOS兼容性

回答

60

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

当您将Deployment Target设置为比iOS 10更早的版本时,您应该知道,您不能使用API新的iOS 10(除了你使用#available运算符)但使用Swift 3应该没有问题。

编辑:您现在可以上传使用的Xcode 8.0 GM

+2

这个答案很有帮助,但我很好奇,如果有人知道Swift 3是否与iOS 7兼容? – rtcarlson

+0

@rtcarlson早期版本兼容iOS 7. http://stackoverflow.com/questions/24001778/do-swift-based-applications-work-on-os-x-10-9-ios-7-and-lower所以我认为,Swift 3也会起作用。但我没有可能验证这一点。 – FelixSFD

+0

@FelixSFD什么是os版本的要求,与el标题是好的? – vaibhav

5

你应该使用SWIFT 3.X(这是斯威夫特的最新版本,因为这个答案已经公布)写在斯威夫特3应用。

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

ALSO:你可以这样做:

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

希望这有助于。