加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

未对CocoaPods目标定义的ios – DEBUG预处理器宏

发布时间:2020-12-15 02:00:44 所属栏目:百科 来源:网络整理
导读:我遇到一个名为DCIntrospect-ARC的pod问题,它应该只能在DEBUG模式下工作。它在运行之前检查是否定义了DEBUG宏。但是,在CocoaPods目标中没有定义,即使我在Xcode中以调试模式运行,因为未定义DEBUG宏,因此无法运行。 我可以使用podspec中的DEBUG宏定义 s.x
我遇到一个名为DCIntrospect-ARC的pod问题,它应该只能在DEBUG模式下工作。它在运行之前检查是否定义了DEBUG宏。但是,在CocoaPods目标中没有定义,即使我在Xcode中以调试模式运行,因为未定义DEBUG宏,因此无法运行。

我可以使用podspec中的DEBUG宏定义

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

但是对于所有构建配置而言,这都定义了DEBUG,而不仅仅是DEBUG配置。

这是CocoaPods的问题吗?一般不要为Pods定义DEBUG宏?
>我可以在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读