2016-06-28 118 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 
} 

希望這有助於。