我目前在Swift编码,我有一个错误:
没有这样的模块
但我不明白,因为这个模块在我的项目中,在“链接框架和库”和“嵌入式二进制文件”中声明。
框架是在Objective-C中,所以我为它写了一个桥标头。
请问,如何让Xcode识别框架?
我目前在Swift编码,我有一个错误:
没有这样的模块
但我不明白,因为这个模块在我的项目中,在“链接框架和库”和“嵌入式二进制文件”中声明。
框架是在Objective-C中,所以我为它写了一个桥标头。
请问,如何让Xcode识别框架?
当前回答
No such module编译错误
这是编译时错误。你可以在很多情况下得到它:
打开的是.xcodeproj而不是。xcworkspace 模块。modulemap or .swiftmodule[关于]
Objective-C库/框架目标
确保生成的二进制文件包含模块。modulemap文件和它的头文件位于Build Phases -> headers部分
框架搜索路径
Consumer ->框架
如果你试图在没有设置框架搜索路径(消费者)的情况下构建应用程序。在设置框架搜索路径指向框架资源后,Xcode将成功构建项目。然而,当你在模拟器中运行应用程序时,有一个崩溃的原因:Image not foundabout
它可以是一个绝对路径或相对路径,如$(SRCROOT)或$(SRCROOT)/..对于工作空间
导入路径
Swift消费者-> Swift静态库
导入路径(消费者)应该指向.swiftmodule
寻找隐式依赖关系
当您有一个隐式依赖项,但“查找隐式依赖项”已关闭时
CocoaPods
检查目标中是否存在此依赖项
pod deintegrate
pod install
CocoaPods UI测试包
对于应用程序目标,使用额外的依赖CocoaPods。要解决它使用继承![关于]在Podfile
(递归路径)
其他回答
我也遇到过这个问题。对我来说,修复是两个项目之间的存档方案不匹配。我有一个xcworkspace与框架项目和应用程序项目。问题在于,在我的应用程序的存档方案中,我使用了与框架的存档方案不同的构建配置。我把两个构建配置都设置为发布,这就解决了这个问题。
对我来说,解决同样问题的方法是相对于工作空间目录设置派生数据位置,而不是保持默认值。 去xcode的首选项。转到首选项中的位置选项卡,并将派生数据设置为相对。 希望能有所帮助。
我不太确定为什么Martin R在评论中对这个问题的回答被如此忽视:
确保您尝试简单地跳过导入框架,因为它已经与桥接头一起添加了。
希望这能有所帮助
确保项目文件夹不在iCloud Drive中。
在我的例子中,我只需要重新加载项目。我使用命令行克隆我的项目,但它没有正确安装子模块。为了补救,我通过XCode克隆了项目,一切正常。只是要确保先备份所有更改。