我的项目中嵌入了一个SQLite数据库文件。在模拟器上,查询数据库工作正常,但不在设备上。我在设备上运行时的数据库文件路径是这个(如控制台上显示的NSLog
):
数据库文件的路径为:/var/mobile/Applications/5914F328-148F-52E6-1AC9-38D7FF141F9B/MyApplication.app/db.sqlite
我查找数据库的相关代码是:
NSFileManager *fileMgr=[NSFileManager defaultManager];
NSString *dbPath=[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"db.sqlite"];
NSLog(@"The path for the database file is : %@",dbPath);//Display the whole path
我知道模拟器和设备上的路径完全不同。那么我应该如何更改上面的代码来相对找到我的数据库文件?
答案 0 :(得分:4)
我解决了我的问题,对于同样问题的人,我需要将我的SQLite文件db.sqlite
包含在我的Bundle资源中。点击你的project target-->Build Phases--->Copy Bundle Resources
,然后点击+
按钮并添加你的SQLite文件,或者只是从项目组和文件中拖动你的SQLite文件并将其放在那里。希望这有帮助:)