在 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' }
我创建了一个自定义 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' }