iOS: dyld: 库未加载 SQLite

iOS: dyld: Library not loaded with SQLite

我在应用程序中使用 SQLite 作为扩展。 在模拟器中一切正常,但是当我 运行 我的设备中的应用程序时出现错误。

 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 

我必须将框架添加到扩展中的 "Copy files" 部分。 麻烦解决了。

但是当我 运行 我的设备上的应用程序时,我必须取消选中选项 "Copy only when installing" 当我 运行 我的应用程序在模拟器上时,我必须检查它。如果我没有,新错误将显示:

error: make directory /Users/*/Library/Developer/Xcode/DerivedData/*-dlklrcpbpykobgbkaophrsrhssxr/Build/Products/Debug-iphonesimulator/*.appex/Frameworks/SQLite.framework: File exists 

如何解决。如果我将应用程序归档并上传到应用程序商店,这个选项是怎么回事,如何使用模拟器和设备获得它?运行?

在您的目标中,select 常规 选项卡。在 Embedded Binaries 部分添加您的 SQL.framework。这是针对动态库的。 清理模拟器和设备上的运行

如果不起作用,返回目标,构建设置 选项卡。在您的复制文件阶段,取消选中仅在安装时复制,选中代码登录复制,以及select 目标喜欢框架

这样可以毫无问题地存档 ipa。

我通过将框架添加到扩展中的 Copy files 部分摆脱了这个错误,但也删除了 Linked framework and Libraries 中的框架以避免这个错误。