美文网首页
Swift 设置自定义预编译宏

Swift 设置自定义预编译宏

作者: Luke_Hu | 来源:发表于2024-11-17 11:49 被阅读0次

在开发中经常用 target 区分正式、测试环境,用到自定义的预编译宏来判断,OC中可以在 target 的 Preprocessor Macros 里设置,Swift 则不同。

Swift设置预编译宏

本文以自定义 RELEASE_BETA 为例

  1. 选中 target ---> Build Settings ---> 搜索 Swift Compiler - Custom Flags
  2. 展开 Active Compilation Conditions 进行设置,只能这样写:RELEASE_BETA, 不能像OC一样设置RELEASE_BETA =1
  3. 展开 Other Swift Flags 同样设置 RELEASE_BETA,需要这样写: -D RELEASE_BETA,填完后是 -DRELEASE_BETA 分成两行的,(如果项目中用到了CocoaPods 可以参考)
  4. 设置完成
    在用到的地方使用:
#if TEST
let BASEURL = ""
#else
let BASEURL = ""
#endif

如果是 OC 和 Swift 混编的项目,OC也需要用到,则还是在 Preprocessor Macros 里添加一遍。

pods组件中使用

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
        if config.name == 'Release_Beta'
            config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = ['$(inherited)', 'RELEASE_BETA=1']
            config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = ['$(inherited)', 'RELEASE_BETA']
            config.build_settings['OTHER_SWIFT_FLAGS'] = ['$(inherited)', '-D', 'RELEASE_BETA']
        end
    end
  end
end

[参考文章]https://zhuanlan.zhihu.com/p/144529227

相关文章

  • Swift中的编译宏设定

    编译宏 Swift中的编译宏设定,是通过在Build Settings中,Other Swift Flags设定的...

  • [Swift5] Swift 设置自定义预编译宏

    Swift 自定义预编译宏 问题: 最近在ReactNative 项目中添加调试工具Filpper 时,由于iOS...

  • Swift中的条件编译

    1、条件编译2、宏定义define 1、条件编译 Swift中没有宏定义的概念,因此我们不能使用#ifdef的方法...

  • nsis

    NSIS 大体布局如下: 预设参数(包括外部压缩器选择、编译选项、宏定义以及文件包含等) 普通安装设置 自定义函数...

  • const,static,extern关键字

    每逢面试时多数会问到 const与宏的区别 及 static变量 先看下const与宏的区别: 编译时刻:宏是预...

  • Swift3.0 基础语法

    Swift特色 苹果宣称Swift的特点是:快速、现代、安全、互动 Swift中取消了预编译指令包括宏 可以使用现...

  • Swift:宏定义

    一、简述 swift中并没有加入宏系统,C语言使用#define定义的基本常量在导入Swift时被Swift编译自...

  • iOS10 log打印不全

    今天在各种搞自定义宏,替换NSLog。修改宏的次数特别多。大家都知道修改任意一个宏,项目就要重新编译。原来项目编译...

  • swift-全局常量

    1.swift中的全局常量类似于OC语言中的宏定义,有效的防治编译时代宏替换的安全隐患,swift中使用全局常量和...

  • 小技巧

    反编译 简书连接 设置全屏 设置 Flag,需要在 setContentView() 之前 设置主题 自定义主题 ...

网友评论

      本文标题:Swift 设置自定义预编译宏

      本文链接:https://www.haomeiwen.com/subject/tjpujjtx.html