我目前在Swift编码,我有一个错误:
没有这样的模块
但我不明白,因为这个模块在我的项目中,在“链接框架和库”和“嵌入式二进制文件”中声明。
框架是在Objective-C中,所以我为它写了一个桥标头。
请问,如何让Xcode识别框架?
我目前在Swift编码,我有一个错误:
没有这样的模块
但我不明白,因为这个模块在我的项目中,在“链接框架和库”和“嵌入式二进制文件”中声明。
框架是在Objective-C中,所以我为它写了一个桥标头。
请问,如何让Xcode识别框架?
当前回答
我安装了pod Fakery, pod被添加到我的Pods文件下,但是当我尝试使用它时,我得到了同样的错误。问题是,我没有构建它,在构建它之后,swift编译器在Fakery swift文件中抛出了一些错误,一些函数已经被重命名,它也为它们提供了修复。在解决了所有这些编译器问题后,构建成功了,我能够使用模块。所以快速的语言兼容性是我的问题。
其他回答
我得到这个问题是因为我在podfile中设置了错误的目标(项目本身而不是UITests部分)。
在podfile中,删除产生问题的pod,并保存该文件 运行pod安装 重新添加pod,保存文件 重新运行pod安装
如果你使用迦太基,建筑设置中的框架通常是不变的
$ (PROJECT_DIR) /迦太基/构建/ iOS
如果你运行carthage update—platform ios—no- Build(为了节省时间),Build文件夹中的文件将不会被重新创建,那么这些模块将无法用于XCode。
以我为例,我运行了carthage update平台ios,然后我的问题就解决了。
确保子项目中配置的命名与“父”项目相匹配。如果配置命名不完全匹配(区分大小写),Xcode将中止存档过程,并显示错误“No such module…”
也就是说,如果你有一个“父”项目,配置名为“AppStore”,你必须确保所有子项目也有这个配置名称。
请看我所附的截图。
在我的情况下,项目上的swift 4库没有编译,所以不可能找到它们并导入。 解决方案是将cocoapods库的编译版本设置为swift 3.2