将应用程序编译到iOS时遇到一些问题。 我正在使用sqlite3并导入为
#import <sqlite3.h>
好吧,我只在我的Mac上找到了一个名为libsqlite3.0.dylib的文件,然后将其复制到我的项目中。 当我为iOS模拟器编译它时,它工作得很好。但是,当我尝试编译iOS设备的应用程序时,它会在我执行的每个调用中抛出一个错误(Apple Match-O链接器错误)到sqlite的函数(例如_sqlite3_open等)
如何将其编译到iOS设备?
谢谢!
答案 0 :(得分:58)
不是简单地复制库,而是这样做:
,点击你的目标(最上面的条目)
转到Build Phases
,然后转到Link Binary With Libraries
从/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOSxx.sdk/usr/lib/
答案 1 :(得分:1)
以防有人遇到与我相同的问题。如果您要对代码进行单元测试,请将lib文件也添加到测试目标中。
答案 2 :(得分:0)
您是否尝试导入sqlite3库,如:
#import "sqlite3.h"
而不是:
#import <sqlite3.h>
答案 3 :(得分:-1)
我发现在IOS应用程序中使用SQLite的最佳方法是构建自己的SQLit库副本并将其包含在项目中。 libsqlite3.0.dylib是一个非常古老的SQLite副本。
您可以轻松下载SQLite Amalgamation源代码并为IOS构建它。这将为您提供最新的SQLite源代码,其中包含所有最新的错误修复和改进。
如果您可以打开Xcode并创建一个新的静态库项目,那么您将占据75%的目标。
获得静态库项目后,请包含从SQLite Amalgamation下载的SQLite源,并设置一些预处理器选项,然后关闭并运行最新代码。
有关完整的详细信息和示例源代码,您可以访问我的博客conedogers