未为CocoaPods目标定义DEBUG预处理程序宏

米克尔·塞尔索(MikkelSelsøe)

我遇到一个名为DCIntrospect-ARC的Pod,该Pod仅在DEBUG模式下有效。它在运行前检查是否已定义DEBUG宏。但是,它没有在CocoaPods目标中定义,即使我在Xcode中以调试模式运行,它也由于无法定义DEBUG宏而无法运行。

我可以使用以下方法在podspec中定义DEBUG宏:

s.xcconfig = { "GCC_PREPROCESSOR_DEFINITIONS" => '$(inherited) DEBUG=1' }

但这为所有构建配置(不仅是DEBUG配置)定义了DEBUG。

  1. 这是CocoaPods问题吗?通常不应该为Pod定义DEBUG宏吗?
  2. 我可以在Podspec文件中解决此问题,并且仅在Debug构建配置中声明DEBUG宏吗?
约翰·波普

您可以在Podfile中使用post_install挂钩。

该挂钩可让您在将生成的Xcode项目写入磁盘之前,对其进行最后的更改,或者执行其他可能要执行的任务。 http://guides.cocoapods.org/syntax/podfile.html#post_install

post_install do |installer_representation|
    installer_representation.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            if config.name != 'Release'
                config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'DEBUG=1']
            end
        end
    end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未为CocoaPods目标定义DEBUG预处理程序宏

来自分类Dev

使用预处理程序宏测试选定的目标

来自分类Dev

使用SCons定义C ++预处理程序宏

来自分类Dev

预处理程序宏替换

来自分类Dev

预处理器存储的宏定义

来自分类Dev

组合预处理程序宏和变量

来自分类Dev

C预处理程序:及早评估宏

来自分类Dev

C预处理程序宏扩展串联

来自分类Dev

C预处理程序宏多个参数

来自分类Dev

预处理程序宏:缺少括号

来自分类Dev

C预处理程序宏扩展串联

来自分类Dev

如何在Groovy中为多个目标定义注释?

来自分类Dev

如何在Groovy中为多个目标定义注释?

来自分类Dev

如何摆脱为条件编译定义预处理器宏的需要?

来自分类Dev

为另一个宏生成名称(C预处理程序)

来自分类Dev

在扩展宏之前是否处理了预处理程序指令?

来自分类Dev

nagfor预处理程序的用户定义错误

来自分类Dev

-fopenmp提供什么预处理程序定义?

来自分类Dev

使用预处理程序定义的日期格式

来自分类Dev

C ++中的预处理器宏重写函数定义

来自分类Dev

如何通过MinGW Make定义预处理器宏

来自分类Dev

定义预处理器宏swap(t,x,y)

来自分类Dev

保存C ++预处理程序宏的原始值

来自分类Dev

避免在C预处理程序中使用双宏替换

来自分类Dev

包含预处理程序指令的Mutiline宏语句

来自分类Dev

重载{zero,one}参数的预处理程序宏

来自分类Dev

使用__LINE__的C:宏中的预处理程序指令

来自分类Dev

使用c预处理程序宏进行多级调试

来自分类Dev

预处理程序指令不可能定义或取消定义预处理程序