1

我正在 azure devops 上进行 CI 构建。我想知道如何传递预处理器宏值,以便我可以进行不同风格的构建。

AFAIK 如果我们可以在 xcode 构建中设置预处理器宏,那么我们也可以在 azure devops 上进行。

欢迎任何有用的指针

4

2 回答 2

3

方法一:通过 GCC_PREPROCESSOR_DEFINITIONS

您必须在xcodebuild命令行上使用GCC_PREPROCESSOR_DEFINITIONS 。

这是您的代码中的示例宏

#ifdef Flavour1 

NSLog(@"This is flavour 1"); 

#endif

这是通过命令行传递宏的方式

xcodebuild -verbose -scheme "YourAppScheme" GCC_PREPROCESSOR_DEFINITIONS='$GCC_PREPROCESSOR_DEFINITIONS Flavour1=1'

方法2:通过单独的xcode Scheme

有一个计划,它是每种口味的各自目标。以便它可以在需要时具有不同的应用程序名称、版本号、签名者等,并且您可以在目标中构建设置的预处理器定义中注入宏。

您所要做的就是在 xcodebuild 命令中传递正确的方案,这就是您的排序

PS:-

我个人更喜欢方法 2,因为它很容易定制,而不用担心 xcodebuild 命令行参数。

于 2019-07-29T10:46:22.407 回答
1

您可以创建一个可以设置项目的 ruby​​ 脚本。Xcodeproj 是修改 Xcode 项目的强大工具。

https://github.com/CocoaPods/Xcodeproj

于 2019-02-20T16:56:20.370 回答