我正在使用SQLite作为应用中的扩展程序。 在Simulator中一切正常,但是当我在我的设备中运行应用程序时出现错误。
dyld: Library not loaded: @rpath/SQLite.framework/SQLite Referenced from: /private/var/mobile/Containers/Bundle/Application/898AED60-6F5F-482C-83FC-A55655599429/*.app/PlugIns/*.appex/* Reason: image not found
我必须在扩展程序中的“复制文件”部分添加框架。 麻烦解决了。
但是当我在我的设备上运行应用程序时,我必须取消选中“仅在安装时复制”选项 当我在模拟器上运行我的应用程序时,我必须检查它。如果我没有新的错误将显示:
error: make directory /Users/*/Library/Developer/Xcode/DerivedData/*-dlklrcpbpykobgbkaophrsrhssxr/Build/Products/Debug-iphonesimulator/*.appex/Frameworks/SQLite.framework: File exists
如何解决它。如果我存档并将应用程序上传到appstore,关于此选项的最新情况,如何让它与模拟器和设备一起运行?
答案 0 :(得分:5)
在目标中,选择常规标签。在嵌入式二进制文件部分中添加您的SQL.framework。这适用于动态库。 在模拟器和设备上清除 运行。
如果不起作用,请返回目标,构建设置选项卡。在复制文件阶段,取消选中仅在安装时复制,选中代码登录复制,然后选择目标 框架
这允许归档ipa没有问题。
答案 1 :(得分:2)
我通过向扩展程序中的Copy files
部分添加框架来消除此错误,但也删除Linked framework and Libraries
中的框架以避免此错误。