私の IOS5、Iphone アプリはデータベースを使用しており、アプリの外部でデータを入力しています。
アプリはデータベース ファイルを開いてデータを読み取るだけで、挿入や更新は行いません。
アプリはシミュレーターで正常に動作しますが、iPhone に公開するとクラッシュします。データベース ファイルがコピーされていないことが原因だと思います。
現在、ファイルはオンです
/Users/stenio123/Library/Application Support/iPhone Simulator/6.0/Applications/4B3205EB-D98B-4D65-B22A-57E5E6A93F3C/MyAppName.app/MyDatabase.data
II を使用して、コード内のロケーション パスを取得します
NSArray *documentDirectories =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentDirectory = [documentDirectories objectAtIndex:0];
documentDirectory stringByAppendingPathComponent:@"MyDatabase.data"]
これはシミュレーターで動作します。
ただし、実際の iPhone で動作するようにするには、何を変更すればよいですか?
MyDatabase.data ファイルを XCode にドラッグ アンド ドロップしてみました。「アイテムのコピー」と「ターゲットに追加」にチェックが入っていることを確認してください。次に、上記のコードを次のバリエーションに変更しました
NSString *documentDirectory = @"/MyDatabaseFolder/";
NSString *documentDirectory = @"./MyDatabaseFolder/";
NSString *documentDirectory = @"MyDatabaseFolder/";
しかし、シミュレーターでも機能しませんでした。アドバイスいただけますか?