将导入添加到 module_map 或伞头

Add import to module_map or umbrella header

不知道有没有办法改变PodName-umbrella.h的内容? 或者以某种方式通过 podspec DSL 传递我自己的。

我需要将导入添加到伞头或理想情况下将所有内容更改为:

// PodName-umbrella.h
@import MyAnotherPod;

此外,我可以使用自定义 module_map。 但是我不知道如何从我的 pod 中使用正确的头文件路径。

framework module PodName {
    header "MyAnotherPod.h" // ⛔️ Header 'MyAnotherPod.h' not found
}

顺便说一句,我找到了解决办法!

我创建了自定义 雨伞 headerMyPod/Sources/MyPod-umbrella.h.
并添加了 pods 的导入,我希望它可以通过 import MyPod:

@import MyAnotherPod;

然后我创建了自定义 modulemapMyPod/MyPod.modulemap:

framework module MyPod {
    umbrella header "MyPod-umbrella.h"
    export *
}

最后在 ./MyPod.podspec:

# Add MyPod-umbrella.h to sources
s.source_files = "#{s.name}/Sources/**/*.{swift,h}"

# Select custom module map
s.module_map = "#{s.name}/#{s.name}.modulemap"

经过这些更改后我可以写:

import MyPod
// And it also imports MyAnotherPod like
// import MyAnotherPod