当前位置:   article > 正文

swift 预编译

swift 预编译

Swift 常用条件编译

自定义Flag

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

#if DEBUG

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

  1. #if <condition>
  2. #elseif <condition>
  3. #else
  4. #endif
  1. //这个是swift写法
  2. if Note1 || Note2
系统Flag
系统相关
FunctionParams
os()判断系统OSX,iOS,watchOS
arch()判断cpu版本x86_64,arm,arm64,i386
  1. // os()只能检测系统类型,而无法检测系统的版本
  2. #if os(OSX)
  3. typealias Color = NSColor
  4. #elseif os(iOS)
  5. typealias Color = UIColor
  6. #endif
语言相关
  1. #if swift(>=4)
  2. // Swift 4 及以上
  3. #else
  4. // Swift 4 以下
  5. #endif
ios版本
  1. if #available(iOS 10.0, *) {
  2. // iOS 10 及以上
  3. }else{
  4. // iOS 10 以下
  5. }

有一个很重的地方需要注意的是,Swift的宏设置在 设置界面的 Other Swift Flags设置, OC的宏设置在 Preprocessor Macros中进行设置,这是个区别,设置在不同的地方

转载于:https://www.cnblogs.com/RoysPhoneBlog/p/9950673.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/223898?site
推荐阅读
相关标签
  

闽ICP备14008679号