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

时间:2015-08-22 02:09:56

标签: ios xcode swift frameworks xcode-workspace

我已经创建了一个Cocoa Touch框架来集中我常用的Swift代码并将一些内容移入其中 - 现在我在我的其他Swift项目中,在工作区中使用它。首先编译主项目,但在启动时我收到了这个错误:

  

dyld:未加载库:@ rpath / libswiftCoreAudio.dylib引用   从:   /Users/username/Library/Developer/Xcode/DerivedData/AppName-guvhnmqtcqhmmndemyhztmwxbkjq/Build/Products/Debug-iphonesimulator/JBS.framework/JBS   原因:未找到图像

我发现可以通过在框架中打开选项嵌入式内容包含Swift代码来修复它,但后来我在日志中得到了一堆重复的符号,如下所示:

  

objc [19237]:类GGLBundleUtil在两者中实现   /Users/username/Library/Developer/Xcode/DerivedData/AppName-guvhnmqtcqhmmndemyhztmwxbkjq/Build/Products/Debug-iphonesimulator/JBS.framework/JBS   和   /Users/username/Library/Developer/CoreSimulator/Devices/CCAD7FCA-BF5F-428A-8122-680B91300618/data/Containers/Bundle/Application/22DC1E4F-B631-450A-A157-A6ADA0126DE6/AppName.app/AppName。   将使用两者之一。哪一个未定义。

我不认为我应该在框架中打开嵌入式内容包含Swift Code选项,但我不知道为什么框架无法找到Swift库。任何人吗?

修改

当我尝试在设备上运行应用程序时,我得到了类似但不同的错误。它似乎在抱怨它无法看到我的框架:

  

dyld:未加载库:@ rpath / JBS.framework / JBS参考自:   /private/var/mobile/Containers/Bundle/Application/C7644037-E5A0-431E-A7DB-D3B124CDC677/AppName.app/AppName   原因:未找到图像

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

主要问题是,当我尝试将框架添加到嵌入式二进制文件中时,我没有对部分名称给予足够的重视。

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

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