0

sqlite ファイルを見つけるのに苦労しています。iOS 5 シミュレーターでアプリを実行すると正常に動作しますが、iOS 5.1 で実行すると sqlite ファイルが見つかりません。このコードを使用してファイルを見つけています。

- (NSString *) getDatabasePath {
    NSString* databaseName = @"bohn_db.bin.sqlite";
    NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDir = [documentPaths objectAtIndex:0];
    return [documentsDir stringByAppendingPathComponent:databaseName];      
}

iOS 5 では機能し、iOS 5.1 では機能しません。ファイルをメイン バンドル リソース パスからドキュメント パス (パスの上) にコピーしようとしましたが、ファイルがメイン バンドル リソースに見つからないために機能しません。パスですが、ファイルはそこにあります。iOS 5.1 ではどうなりますか??

前もって感謝します!!

4

3 に答える 3

2

私は同じ問題を抱えていました。非常に多くの異なることを試みた後、データベースをプログラムから取り出して、再度追加しました。今回は、「ターゲットの追加」にチェックを入れたことを確認しました。これを行った後、それはうまくいきました。チェックしなかった場合、ファイルはコピーされません。

于 2012-09-23T02:47:07.747 に答える
0

シミュレーターからアプリを削除し、getDatabasePathのタイマーを5秒間ビルドして配置します。私はそれがうまくいくと思います。

于 2012-05-24T04:17:01.657 に答える
0

コードからデータベース パスを NSLog し、そこに存在するかどうかを手動で確認します。

于 2012-05-24T04:58:14.070 に答える