swift 预编译

Swift 常用条件编译

自定义Flag

OC 中一般使用预编译宏来做条件编译,比如说添加个DEBUG =1 宏来区别测试版本和发布版本,写法一般是

#if DEBUG

由于很多公司喜欢搞同一个代码多个程序,所以为了更容易通过审核,咱们只要不停的换皮,而动态判断有些不妥,只好使用预编译宏来做区分,swift中也有这个编译方式写法和OC一样 ,不同在于或是 ||而不是|

#if <condition>
#elseif <condition>
#else
#endif
//这个是swift写法
if Note1 || Note2

系统Flag

系统相关
Function Params
os()判断系统 OSX,iOS,watchOS
arch()判断cpu版本 x86_64,arm,arm64,i386
// os()只能检测系统类型,而无法检测系统的版本
#if os(OSX)
    typealias Color = NSColor
#elseif os(iOS)
    typealias Color = UIColor
#endif
语言相关
#if swift(>=4)
    // Swift 4 及以上
#else
    // Swift 4 以下
#endif
ios版本
if #available(iOS 10.0, *) {
    // iOS 10 及以上
}else{
    // iOS 10 以下
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章