我已经创建了一个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 原因:未找到图像
答案 0 :(得分:0)
你在设备上测试过吗?如果是这样,您的项目和框架之间的包ID必须相同。
答案 1 :(得分:0)
主要问题是,当我尝试将框架添加到嵌入式二进制文件中时,我没有对部分名称给予足够的重视。
相反,我将其添加到具有其他链接框架和库的部分中,因为已经存在其他一些。一旦我将它添加到嵌入式二进制文件部分(当我这样做时也将其重新添加回链接框架和库),它就不再给我标题中的主要错误。
然而,我还没有想到如何解决重复符号错误,这种错误现在一直发生,即使嵌入式内容包含Swift代码在任何地方都被关闭。但这不是我问题中的主要问题。