在 cocoapods Podspec 中定义自定义模块映射文件

Define custom module map file in cocoapods Podspec

我创建了一个自定义 module map 文件来处理 swift 项目中的 libxml 导入。 (non-modular include 错误)

如果我手动执行它,效果很好,但是当我尝试 pod lint 包含从此自定义模块导入的简单项目时,cocoapods 无法找到/解析该模块。

我试过 s.module_map = "module/module.modulemap"

core.xcconfig = {
  'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2 $(SRCROOT)/module $(SDKROOT)/usr/include/libresolv',
  'OTHER_LDFLAGS' => '"-lxml2"',
  'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES',
  'ENABLE_BITCODE' => 'NO',
  "SWIFT_INCLUDE_PATHS" => "$(SRCROOT)/module"
}

如有任何帮助,我们将不胜感激。

我通过设置 pod_target_xcconfig 属性 设法解决了这个问题。完整的部分看起来像这样:

s.preserve_path = 'module/module.modulemap'
s.module_map = 'module/module.modulemap'

core.pod_target_xcconfig = { 'HEADER_SEARCH_PATHS' => '$(PODS_ROOT)/mypod/module' }
core.xcconfig = { 'HEADER_SEARCH_PATHS' => '$(SDKROOT)/usr/include/libxml2 $(PODS_ROOT)/mypod/module' }