首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cocoapods仅为Debug指定podspec xcconfig值

Cocoapods仅为Debug指定podspec xcconfig值
EN

Stack Overflow用户
提问于 2015-03-25 03:42:23
回答 2查看 4.6K关注 0票数 7

我正在使用cocoapods,并希望使用特定于Debug模式的xcconfig参数在pod的podspec中指定一个值。

目前,使用:

代码语言:javascript
复制
s.xcconfig = { "GCC_PREPROCESSOR_DEFINITIONS" => "MY_DEFINE=1" }

将为Debug和Release模式设置该值。我还尝试使用:

代码语言:javascript
复制
s.xcconfig = { "GCC_PREPROCESSOR_DEFINITIONS[config=Debug]" => "MY_DEFINE=1" }

但是,尽管这是在pod的预处理器宏中设置它,但它似乎不会在代码执行期间注册,这与不使用config=Debug标记时不同。有没有办法把它限制为只使用调试模式?

EN

回答 2

Stack Overflow用户

发布于 2015-07-22 10:03:24

您应该创建两个单独的podspec,每个podspec使用不同的xcconfig,然后使用配置链接到每个podspec:

代码语言:javascript
复制
pod 'my-podspec-debug', :configurations => ['Debug']
pod 'my-podspec-release', :configurations => ['Release']

看看这个老答案:https://stackoverflow.com/a/26074997/1509221

票数 4
EN

Stack Overflow用户

发布于 2018-08-03 14:44:08

您可以通过在您的podspec文件中添加以下内容来实现所需的功能:

代码语言:javascript
复制
 s.xcconfig = { "GCC_PREPROCESSOR_DEFINITIONS" => "$(GCC_PREPROCESSOR_DEFINITIONS_$(CONFIGURATION))",  
                "GCC_PREPROCESSOR_DEFINITIONS_Debug" => "MY_DEFINE=1" }

您可以使用变量替换,根据您根据生成配置名称创建的另一个变量(即GCC_PREPROCESSOR_DEFINITIONS_$(CONFIGURATION)). ),将值分配给GCC_PREPROCESSOR_DEFINITIONS

您可以在这里阅读更多内容https://pewpewthespells.com/blog/xcconfig_guide.html#VariableSubstitution

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29241458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档