プロジェクトに埋め込まれた SQLite データベース ファイルがあります。シミュレーターでは、データベースのクエリは正常に機能しますが、デバイスでは機能しません。デバイスで実行したときのデータベース ファイル パスは次のとおりです (コンソールにNSLog
) が表示されます。
データベース ファイルのパスは次のとおりです。/var/mobile/Applications/5914F328-148F-52E6-1AC9-38D7FF141F9B/MyApplication.app/db.sqlite
DB を探す関連コードは次のとおりです。
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
シミュレーターとデバイス上のパスがまったく異なることはわかっています。では、上記のコードを変更して、データベース ファイルを相対的に見つけるにはどうすればよいでしょうか。