Swift项目:导入模块化框架时"缺少必需的模块"

Hun*_*CLo 8 xcode frameworks ios swift module-map

建立

  1. 我创建了一个包含C库(CommonCrypto)和Objective C文件的swift框架.

  2. swift项目中没有bridge-header.所以我创建了一个module.modulemap将CommonCrypto和Objective-C文件导入我的swift框架.

    module.modulemap内容: 在此输入图像描述

这是module.modulemap示例链接:在swift框架中导入CommonCrypto

  1. 在项目设置中,将modulus.modulusmap路径添加到swift编译在此输入图像描述

    所以,在我的快速框架中,一切正常.我可以像这样使用模数

    在此输入图像描述

问题表明

  1. 归档模块化框架并导出为内置产品.

  2. 在我的swift示例项目中,将模块化框架添加到嵌入式二进制文件中 在此输入图像描述

  3. 当我在框架内使用某些东西时,此行发生错误 在此输入图像描述

我尝试了很多解决方案,但仍然没有用.

类似的问题:

  1. Swift应用程序:导入静态库的框架时"缺少必需的模块"

  2. 添加RealmSwift作为子项目:缺少必需的模块:'Realm.Private','Realm'

有人有一个很好的解决方案吗?谢谢!!

Hun*_*CLo 6

解决方案

iOS 框架作为一个文件夹存在,创建一个module.modulemap来查找库或头文件。

  1. 设置module.modulemap路径

    在 project/target/Build Settings/Swift Compile - Search Path/Import Path = “${SRCROOT}”

  2. 在下面添加到 module.modulemap

在此处输入图片说明

评论

如果框架存档在同一开发环境中,则不必将 module.modulemap 添加到示例项目中。