2011-01-31 17 views
0

コアデータフレームワークを使用した場合、なぜ実際のデバイスでは、この行文句を言わない仕事:なぜこの回線は実際のiOSデバイスでは動作しませんか? iOSの開発で

NSURL *storeUrl = [NSURL fileURLWithPath: 
        [[self applicationDocumentsDirectory] 
         stringByAppendingPathComponent: @”MyDB.sqlite”]]; 

が、これはDBファイルはUUID/Documentsディレクトリの下にあることを意味しませんか?またはそれはUUDI/MyApp.app/Documentsの下にあることを意味しますか?

答えて

1

applicationDocumentsDirectoryGUID/YourApp/Documents

を指してしなければならないこれは、Documentsディレクトリ

+(NSString *)applicationDocumentsDirectory { 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 
    return basePath; 
} 

applicationDocumentsDirectoryコードは何ですかを取得するための正しい使用方法でしょうか?あなたがアップルなどの信頼できるソースからの例で使用していると仮定すると、これはあなたのアプリのDocumentsフォルダを指しているはずです。

enter image description here

+0

@WrightsCSそして、メソッド名は少し誤解を招くような権利がありますか?つまり、applicationDocumentsDirectoryという名前です。 – Chiron

+0

MyDB.sqliteは、コードが機能するためには、Documentsディレクトリのルートにある必要があります。 – WrightsCS

+1

@ 4bu3liそれについて誤解を招くのは何ですか?アプリケーション*はこれまでに.appバンドル内にDocumentsディレクトリを持っていません。それは意味をなさない。このメソッドは、アプリケーションに関連付けられているDocumentsディレクトリを返します。内部に埋め込まれているDocumentsディレクトリは返しません。 –

関連する問題