dyld:未加载库:@rpath/libswiftCoreAudio.dylib 引用自:<Framework> 原因:找不到图像

dyld: Library not loaded: @rpath/libswiftCoreAudio.dylib Referenced from:<Framework> Reason: image not found

我创建了一个 Cocoa Touch Framework 来集中我的常用 Swift 代码并将一些东西移入其中——现在我在我的另一个 Swift 中使用它项目,在工作区中。起初主项目编译,但在启动时我得到了这个错误:

dyld: Library not loaded: @rpath/libswiftCoreAudio.dylib Referenced from: /Users/username/Library/Developer/Xcode/DerivedData/AppName-guvhnmqtcqhmmndemyhztmwxbkjq/Build/Products/Debug-iphonesimulator/JBS.framework/JBS Reason: image not found

我发现可以通过在框架中打开选项 Embedded Content Contains Swift Code 来修复它,但是我得到了一堆重复的符号在日志中,像这样:

objc[19237]: Class GGLBundleUtil is implemented in both /Users/username/Library/Developer/Xcode/DerivedData/AppName-guvhnmqtcqhmmndemyhztmwxbkjq/Build/Products/Debug-iphonesimulator/JBS.framework/JBS and /Users/username/Library/Developer/CoreSimulator/Devices/CCAD7FCA-BF5F-428A-8122-680B91300618/data/Containers/Bundle/Application/22DC1E4F-B631-450A-A157-A6ADA0126DE6/AppName.app/AppName. One of the two will be used. Which one is undefined.

我不认为我应该在框架中打开嵌入式内容包含 Swift 代码选项,但我不知道为什么框架找不到 Swift 图书馆。有人吗?

编辑:

当我尝试 运行 设备上的应用程序时,出现类似但不同的错误。好像是在抱怨看不到我的框架:

dyld: Library not loaded: @rpath/JBS.framework/JBS Referenced from: /private/var/mobile/Containers/Bundle/Application/C7644037-E5A0-431E-A7DB-D3B124CDC677/AppName.app/AppName Reason: image not found

你在设备上测试了吗?如果是这样,您的项目和框架之间的 bundle id 必须相同。

主要问题是当我尝试将框架添加到嵌入式二进制文件时,我没有足够注意部分名称。

相反,我将它添加到具有其他链接框架和库的部分,因为那里已经有一些其他的。一旦我将它添加到嵌入式二进制文件部分(当我这样做时,它也会 re-added 回到链接框架和库)它不再给我标题中看到的主要错误。

然而,到目前为止,我还没有想出如何解决重复符号错误,即使在所有地方都关闭了嵌入内容包含 Swift 代码,这种错误现在一直发生。但这不是我问题的主要问题。