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

没有这样的模块

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

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

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


当前回答

对我来说,答案是去目标,首先检查目标名称和项目名称是否匹配,如果匹配,然后去通用->框架,手动添加它们。当我这样做时,我干净地构建了应用程序,一切都运行正常。不幸的是,之前的答案都没有解决我的问题,所以也许这也能帮助你。

其他回答

对我来说,使用M1机器唯一有效的方法是使用Rosetta运行Xcode。如果没有这些,我只能在真正的设备上运行应用,而不能在iOS模拟器上运行。构建应用程序可能会有点慢,但它绝对解决了这个问题。 如果你不知道如何打开Rosetta,下面是步骤:

Xcode辞职 在应用程序文件夹中找到Xcode,右键单击它并按下获取信息 使用Rosetta勾选打开,如下图所示 再次打开Xcode并运行你的应用

不确定是否需要删除派生数据和清理项目,但您也可以这样做。

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

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

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

我只是通过删除引用来删除框架,然后再次添加它们。

如果这只是一个简单的项目,没有可可足类,就像我做的, 你可以尝试移动你的框架到你的项目目录和重新链接。 我把它放在桌面上,但是链接和“导入我的框架”犯了一个错误。在将其移动到项目目录并再次链接后,它工作了。

没想到这竟然起作用了。我的解决办法是……

构建设置->框架搜索路径->高亮调试->按delete ->它应该自动填写一个路径。->释放时执行同样的操作

结果: