一尘不染

如何以编程方式找到Swift的版本?

swift

我知道我可以找到我正在运行的Swift版本,还原到Terminal并输入:

xcrun swift --version
Swift version 1.1 (swift-600.0.57.4)
Target: x86_64-apple-darwin13.4.0

另外,我一直在阅读有关Swift中的预处理器宏的信息,但是找不到Swift版本常量很幸运。

随着Swift 1.2的到来,最好标记仅在Swift 1.1上运行的旧代码(Xcode最高为6.2)或需要Xcode 6.3的新代码(Swift 1.2)。

注意:我也可以使用system()做类似的事情:

system("xcrun swift --version | grep version > somefile.txt")

然后打开somefile.txt,而是选择一些更简单的解决方案


阅读 231

收藏
2020-07-07

共1个答案

一尘不染

Swift 3.1 扩展了该 @available 属性,以支持指定其现有平台版本之外的Swift版本号。

// Swift 3.1

@available(swift 3.1)
func intVersion(number: Double) -> Int? {
  return Int(exactly: number)
}

@available(swift, introduced: 3.0, obsoleted: 3.1)
func intVersion(number: Double) -> Int {
  return Int(number)
}
2020-07-07