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

没有这样的模块

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

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

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


当前回答

请将此截图与您的构建设置进行比较。 这可能会奏效。 进入框架搜索路径:

其他回答

在尝试了这个线程上的所有想法后,当我更新cocoapods时,它起作用了。

$ pod --version
$ 1.0.0 // should have been 1.10.0

你应该更新cocoapods

gem which cocoapods

这是最后对我有用的方法。我不得不做这一切,这很蹩脚,但这是我能找到的唯一有效的方法。

在确保图书馆被列在链接框架和图书馆。如果没有,你可以点击+,希望能看到你的框架/pod。

在方案图标中单击您的项目(见下图)

然后你会看到你的关注点框架:

单击“管理方案”。

然后你会看到如下内容:

勾选框架的方框,单击自动创建方案,然后关闭。

然后尝试再次导入框架/pod。

这对我很管用。

以我为例,在多次尝试找出导入框架时哪里做错了之后,我最终发现问题出在框架本身。如果你不是从一个可信的来源获得你的框架,你应该检查框架并确保它包含一个模块的Modules文件夹。其中的Modulemap文件。如果模块。modulemap不存在,你会得到“No such module 'MyFramework'”错误。

如果Modules文件夹缺少“MyFramework.”然后框架就会被找到,但是Xcode不会知道它的内容,所以你会得到不同的错误。

我赢得了“没有这样的模块”错误的最愚蠢原因奖。在我的例子中,我手工构建了包含的框架,并将其复制到我的项目目录中。我的框架搜索路径设置正确,框架也被正确地添加到项目中。

当我归档我正在构建的框架时,我使用“Show in Finder”将我带到派生数据中的发布文件夹。但是我没有注意到这个文件夹只包含框架的别名,而不是框架本身。原始框架仍然在我的派生数据目录中,所以后来当我清除派生数据时,框架被删除了,但我的项目不知道这一点。

重新归档框架,遵循别名到实际框架,并将其复制到我的项目目录中,这是可行的。

我的问题是有多个目标。 我用以下链接解决了这个问题: 配置pod文件正确的方式和修复构建设置

希望有人会觉得有用。