我搜索了一些关于Library not loaded 的答案,我发现几乎所有与在应用程序中使用框架相关的答案,但我的问题是不同的。它实际上是在framework中使用framework,然后在App中使用。
假设我有框架A 和B,框架A 使用框架B 然后框架库没有在应用程序中加载使用,所以最终我只想在应用程序中使用或公开框架 A 而不是两者都没有直接需要未在应用程序中加载的框架库。
到目前为止我做了什么:
将框架 A 添加到应用程序中,也将其添加到嵌入式二进制文件中,并使用框架 A 的一些代码,但不使用框架 B。构建并运行
问题
构建成功,但在将应用程序安装到设备后立即生成问题。
dyld: Library not loaded: @rpath/B.framework/B
Referenced from: /private/var/containers/Bundle/Application/6A869182-AFE5-403-2809B4AAA843/A-SDK-DemoApp.app/Frameworks/A.framework/A Reason: image not found
注意:框架名称根据 A 和 B 更改。
要求 我只想与客户端共享框架 A 而不是框架 B,因为 App 只会与框架 A 通信,所以需要一些建议如何解决这个问题,也请不要向我推荐那些与单帧相关的答案添加到应用程序中。谢谢
最佳答案
花一些时间阅读这篇文章后answer , 这清楚地说
I contacted Apple with this issue and found a solution to my problem. Apple's Technical support made it clear, that I need to add the FrameworkB.xcodeproj to my application project
所以我只是使用了一些技巧,在框架 A 中转到目标 -> 添加新的复制文件阶段 -> 将目标更改为框架 -> 添加框架 B,如屏幕截图所示。
现在构建 Framework A,转到 Product 文件夹并单击 show in finder Framework A,您将看到 Framework B 将被添加并在 A 内部公开,如屏幕截图所示。
这一切都来自框架方面,现在在 App 的嵌入式部分添加框架 A。现在再次尝试在嵌入式部分添加另一个框架,然后单击添加其他按钮,单击框架 A -> 单击框架文件夹选择框架 B,如屏幕截图所示。
这将解决问题。如果有人不明白,请随时发表评论,我会尽量说清楚。希望这对其他人也有帮助。
关于ios - Xcode 中的库未加载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50384137/