我目前在Swift编码,我有一个错误:
没有这样的模块
但我不明白,因为这个模块在我的项目中,在“链接框架和库”和“嵌入式二进制文件”中声明。
框架是在Objective-C中,所以我为它写了一个桥标头。
请问,如何让Xcode识别框架?
我目前在Swift编码,我有一个错误:
没有这样的模块
但我不明白,因为这个模块在我的项目中,在“链接框架和库”和“嵌入式二进制文件”中声明。
框架是在Objective-C中,所以我为它写了一个桥标头。
请问,如何让Xcode识别框架?
当前回答
确保Scheme中的“在构建中查找隐式依赖项”选项是打开的!
其他回答
对我有效的是另一个问题的解决方案。关闭Xcode,重新打开项目作为工作空间。转到项目文件夹并打开.xcodeworkspace文件。 一旦你打开工作区(而不是项目),Pods应该作为顶级项目出现在project Navigator中。
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
(递归路径)
在我的情况下,我尝试了上面的每一个建议仍然没有工作。 我只是复制文件的内容,显示错误没有导入的东西,并将其粘贴到另一个文件相同的导入和注释错误文件。 再次运行项目,它工作,然后我删除原来的错误文件,并创建一个同名的文件,并使其内容再次使用相同的导入。 我认为在我的情况下,我只是想办法让它能够链接那些导入一次,它应该是好的。
当框架没有正确编译时也会发生这种情况。
在Xcode中打开框架项目,看看Product→Build是否成功。
一旦在框架中修复了构建错误,打开主项目,看看是否可以导入框架。
如果你是面向tvOS这样的平台创造游戏,请确保你选择了一个Apple TV模拟器。
使用iOS模拟器创建tvOS应用时,我就犯了这个错误。花了大半个小时寻找各种构建问题……哎。