如何通过XcodeGen为Xcode Target添加SWIFT_ACTIVE_COMPILATION_CONDITIONS?
用XcodeGen配置Active Compilation Conditions的可行方案
你之前的配置没生效,核心原因是少了buildSettings层级——XcodeGen要求所有构建设置必须嵌套在这个节点下。正确的YAML写法如下:
targets: # 替换成你的实际Target名称 YourAppTarget: type: application platform: iOS # 这里可以补充Target的其他配置(比如sources、dependencies等) configs: Debug: buildSettings: SWIFT_ACTIVE_COMPILATION_CONDITIONS: DEBUG PreRelease: buildSettings: SWIFT_ACTIVE_COMPILATION_CONDITIONS: PRERELEASE Release: buildSettings: SWIFT_ACTIVE_COMPILATION_CONDITIONS: RELEASE
如果多个Target需要复用相同的编译条件配置,也可以把配置提到项目根节点的configs里,让Target继承:
configs: Debug: buildSettings: SWIFT_ACTIVE_COMPILATION_CONDITIONS: DEBUG PreRelease: buildSettings: SWIFT_ACTIVE_COMPILATION_CONDITIONS: PRERELEASE Release: buildSettings: SWIFT_ACTIVE_COMPILATION_CONDITIONS: RELEASE targets: YourAppTarget: type: application platform: iOS # 自动继承根节点的config配置 configs: Debug: {} PreRelease: {} Release: {}
配置完成后,重新执行xcodegen generate命令,生成的Xcode项目里就能看到对应环境的Active Compilation Conditions已正确配置。
内容的提问来源于stack exchange,提问作者Woochan Park
相关产品推荐
相关产品推荐

