自定义框架找不到需要桥接头文件的其他 pod:"No such module 'InsiderMobile'"



目前我们正在开发一个需要使用InsiderMobilecocoapods的自定义框架。根据本指南,我们将需要创建桥接头文件以使用InsiderMobile。但是,桥接标头或 Umbrella 文件在我们的框架中不起作用,因此我们必须将MapModuleBuild Settings/Import Paths方法一起使用,然后框架编译就可以了。

当我们尝试将框架应用于应用程序时,就会出现实际问题。框架可识别除InsiderMobile之外的所有其他 Pod。以下是我们当前的设置:

  • 我们在 Pods 文件夹中获得了自定义框架和 InsiderMobile,
  • 我们的自定义框架是嵌入式的,
  • MapModuleBuild Settings/Import Paths方法也适用,

以下是我们已经尝试过的一些方法:

  • 再次pod install,删除派生数据,清理并重新生成项目,
  • 手动编辑自定义框架-umbrella文件,但遇到新错误:"在框架模块中包含非模块化标头",也尝试将Allow Non-modular Includes In Framework Modules设置为Build Settings
  • 还嵌入InsiderMobile框架,

上述方法都不能解决问题。有没有办法允许我们的自定义框架导入InsiderMobile?提前谢谢。

如果有帮助,我找到了一种暂时解决此问题的方法。不是最好的,但帮助我们摆脱开发过程。基本上,我一直在尝试使用.modulemap方法,您可以在此处找到文档。然后我找到了这个话题,然后这家伙回购。我只是按照 repo 对.modulemap文件进行一些更改,一切对我来说都很好。这是我.modulemap文件:

module InsiderMobile [system] {
// Framework complier
// header "../../../../Pods/InsiderMobile/InsiderMobile.framework/Headers/Insider.h"
//App complier
header "../../../../../../Pods/InsiderMobile/InsiderMobile.framework/Headers/Insider.h"
export *

}

因为文件目录在远程.modulemap可能会更改,因此我必须在部署之前更改为合适的路径。我知道这很不方便,但它现在有效。

相关内容

最新更新