在iOS开发中,大家习惯了用Objective-C,也清楚的知道其在各种不同情况下的编写方法,但对于近两年新出的swift语言的操作却略显生疏。
就拿“让代码支持不同平台怎么实现”的案例来说,在Objective-C语言中,我们可能直接使用预处理指令就可实现,而在swift中却无法直接使用预处理命令,达到目的。不过作为一种完善的编程语言,swift也提供了自己的方式来支持条件编译,就是使用使用build configurations(构建配置)。
Build configurations包含了字面量true和false,以及两个平台测试函数os()和arch()。其中os()用于测试系统类型,可传入的参数包含OSX,iOS, watchOS。
但美中不足的是,os()只能检测系统类型,而无法检测系统的版本,所以这些工作只能放在运行时去处理。
而swift的另一个函数arch(),主要用于测试CPU的架构,可传入的值包括x86_64,arm, arm64, i386。需要注意的是arch(ar