我试图将CocoaLumberjack作为框架来实现,并且它在模拟器上运行得很好,但是当尝试在我的iPhone上使用它时,我得到了以下错误:
dyld: Library not loaded: @rpath/CocoaLumberjack.framework/CocoaLumberjack
Referenced from: /var/containers/Bundle/Application/3EF12D55/myApp.app/CocoaLumberjackSample
Reason: image not found
你们谁知道为什么模拟器和设备有什么区别?
我非常感谢你的帮助。
发布于 2017-04-10 19:52:51
嗯,区别很简单:
每当您在模拟器中运行应用程序时,它都可以访问同一个构建文件夹中的任何其他构建产品,例如框架。这就是为什么在模拟器中没有遇到这个问题的原因。在您的iOS设备上,情况就不同了,因为Xcode只将实际的应用程序包复制到设备上。因此,为了使其工作,您需要将CocoaLumberjack.framework添加到Embed Frameworks
构建阶段。这将将框架复制到应用程序包中的Frameworks
子文件夹中,以便您的应用程序二进制文件能够找到它。
如果没有Embed Frameworks
构建阶段,可以通过构建阶段选项卡左上角的add按钮添加New Copy Files Build Phase
,然后选择Frameworks
作为目标。另一个选项是选择General选项卡,向下滚动,然后在Embedded Binaries
部分下添加框架。
https://stackoverflow.com/questions/43331650
复制相似问题