如何解决两个 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
我的 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