如何解决两个 Pods 之间的 Objective-C 兼容性 header 冲突?

How to resolve Objective-C compatibility header conflict between two Pods?

我的 Xcode 项目中有两个 cocoapods 在生成的 Objective C header 文件中有冲突,导致此错误:

InputBarAccessoryView/InputBarAccessoryView.framework/Headers/InputBarAccessoryView-Swift.h:413:58: 'InputTextView' has different definitions in different modules; first difference is definition in module 'InputBarAccessoryView.Swift' found property

我可以通过进入给定 pod 的构建设置并将 Install Objective-C compatibility header 设置为 [=23] 来解决此冲突=]没有

有没有办法让我在 podfile 或其他地方指定此设置,以便从事此项目的每个人都不必转到他们的构建设置来解决此冲突?

为了切换 post 安装 pods 的构建设置,请执行以下操作

通过按住 Option 并双击 Pods.xcodeproj

中的设置名称来获取 build_setting 名称

为项目中的所有 pods 指定设置

post_install do |installer|

  installer.pods_project.build_configuration_list.build_configurations.each do |configuration|
      configuration.build_settings['Setting you want to toggle'] = 'YES'
  end 
end

为特定 pod 指定设置

post_install do |installer|

  installer.pods_project.targets.each do |target|
    
    if target.name === "Specific Pod Name"
      target.build_configurations.each do |config|
        config.build_settings['SWIFT_INSTALL_OBJC_HEADER'] = 'NO'
      end
    end
  end
end