Cocoapod:使用 post 安装挂钩重新定义预处理宏

Cocoapod : Redefining preprocess macro using post install hook

我想更新我的广告连播以让用户 activating/desactivating 一个功能。

为此,我在 podspec 中添加了预处理器宏:

s.xcconfig         = { 'GCC_PREPROCESSOR_DEFINITIONS' => 'FEATURE=1' }

现在,对于用户来说,正确的做法(据我所知)应该是在 podfile 中使用 post 安装挂钩来更改 [=15] 的定义=]

post_install do |installer_representation|
  installer_representation.project.targets.each do |target|
    if target.name == "Pods-MyPod"
      target.build_configurations.each do |config|
        config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'FEATURE=0']
      end
    end
  end
end

但它什么也没做... FEATURE 值仍然是 1

我是不是做错了什么?

编辑: 我确实看过这个answer,但没有帮助。

最后,我找到了一个可用的版本。

post_install do |installer_representation|
  installer_representation.pods_project.targets.each do |target|
    if target.name == "Pods-MyPod"
      target.build_configurations.each do |config|
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] = ['COCOAPODS=1', 'FEATURE=0']
      end
    end
  end
end