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

标签 ios macos swift xcode6

我知道我可以找到我正在运行的 Swift 版本恢复到终端并输入:

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

此外,我一直在阅读有关 Preprocessor Macros 的信息在 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,但更喜欢一些更简单的解决方案

最佳答案

您可以使用条件编译指令来测试用于构建项目的特定 Swift 版本:

#if swift(>=5.0)
print("Hello, Swift 5!")
#elseif swift(>=4.0)
print("Hello, Swift 4!")
#elseif swift(>=3.0)
print("Hello, Swift 3!")
#elseif swift(>=2.2)
print("Hello, Swift 2.2!")
#elseif swift(>=2.1)
print("Hello, Swift 2.1!")
#endif

关于ios - 如何以编程方式找到 Swift 的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27242690/

相关文章:

c - mmap for write under MacOSX 10.8.2 with XCode 4.6 will make program crash

ios - 如何在执行操作时阻止触摸开始

ios - Firebase 身份验证 Twitter API 登录 "Nothing to see here"

ios - 如何在 React Native 中使用 UITableViewCellStyleSubtitle 获取原生 UITableView?

objective-c - 为什么自定义并发队列上的 dispatch_sync 会死锁

ios - 对于 NSDateFormatter 一起使用 locale 和 dateFormat 是否有意义?

macos - 从模板打开无标题文档

swift - 分成三个符号的单个表情符号

swift - SKSpriteNode 未检测到触摸事件

ios - Swift - tableview contentsize 不匹配内容?