20171122
有时可能会有这样的需求:一个项目的开发
和发布
由公司不同部门的人负责,当开发项目的人用最新的Xcode写代码、而负责打包的同事因为特殊原因不能升级Xcode的时候,开发的同事就必须迁就发布的同事了,此时将会用到以Swfit
版本号为依据的条件编译。只举一个例子:
let name = "Rick"
var charsCount = 0
#if swift(>=3.2)
charsCount = 4 + name.count - 1
#else
charsCount = 4 + name.characters.count - 1
#endif
苹果在Swift3.2中废弃了”characters”属性:
严谨起见,并消除Xcode警告,同时适配3.0、3.1版本的Swift
,此处用了条件编译。
值得注意的是,#if swift(>=3.2)
不能写成#if swift(<3.2)
似乎表达式swift()
只允许>=
语法。
环境: Xcode 9.1, Swift 3.2;