我目前在Swift编码,我有一个错误:

没有这样的模块

但我不明白,因为这个模块在我的项目中,在“链接框架和库”和“嵌入式二进制文件”中声明。

框架是在Objective-C中,所以我为它写了一个桥标头。

请问,如何让Xcode识别框架?


当前回答

Another possible cause in XCode 10 can be the Supported Platforms sometimes gets changed to macOS and the Valid Architectures gets changed to i386 x86_64 for the Pods Projects. Assuming the project is for iOS, then select the Pods Project and change the Supported Platforms to iOS and the Valid Architectures to arm64 arm64e armv7 armv7s, You could do each of the Targets, however that takes longer if you have more than one Pod. Also the Swift version of frameworks in written Swift sometimes gets set to the wrong version.

其他回答

在目标的构建设置中,将“框架搜索路径”设置为$(inherited)和递归。 [

在我的情况下,项目上的swift 4库没有编译,所以不可能找到它们并导入。 解决方案是将cocoapods库的编译版本设置为swift 3.2

对我来说,解决同样问题的方法是相对于工作空间目录设置派生数据位置,而不是保持默认值。 去xcode的首选项。转到首选项中的位置选项卡,并将派生数据设置为相对。 希望能有所帮助。

我不知道为什么会发生这种情况,但解决你的问题的一种方法是进入你的构建设置并定义框架搜索路径到一个包含有问题的框架的文件夹。如果框架放在您的项目目录中,只需将框架搜索路径设置为$(SRCROOT)并将其设置为递归。

当“查找隐式依赖项”选项未选中时,可能会发生此错误。转到编辑方案->构建。

然后勾选这个选项。