2

我在应用程序中使用 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 

我必须将框架添加到扩展中的“复制文件”部分。麻烦解决了。

但是当我在我的设备上运行应用程序时,我必须取消选中“仅在安装时复制”选项,当我在模拟器上运行我的应用程序时,我必须检查它。如果我没有新的错误将显示:

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

如何解决它。如果我将应用程序存档并上传到应用程序商店,这个选项怎么样,如何让它在模拟器和设备上运行?

4

2 回答 2

5

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

如果不起作用,返回目标,构建设置选项卡。在您的复制文件阶段,取消选中Copy only when installed,选中Code Sign On Copy,然后选择Destination like Frameworks

这允许归档 ipa 没有问题。

于 2015-12-01T20:08:45.010 回答
3

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

于 2015-12-03T08:20:40.767 回答