ドキュメントディレクトリ(NSDocumentDirectory)とは何ですか?質問する

ドキュメントディレクトリ(NSDocumentDirectory)とは何ですか?質問する

iOS アプリのドキュメント ディレクトリとは何か、いつ使用するのかを教えていただけますか?

私が現在信じていることは次のとおりです。

私にとっては、これはユーザーがアプリに必要なファイルを保存できる中央フォルダのように思えます。

これは、Core Data がデータを保存する場所とは異なる場所でしょうか?

各アプリには独自のドキュメント ディレクトリがあるようです。

ドキュメント ディレクトリのサブディレクトリ (ドキュメント ディレクトリ/画像、ドキュメント ディレクトリ/ビデオなど) を自由に作成できますか?

ベストアンサー1

アプリは(ジェイルブレイクされていないデバイス上で)「サンドボックス」環境でのみ実行されます。つまり、アプリは自身のコンテンツ内のファイルとディレクトリにのみアクセスできます。たとえば、文書そして図書館

を参照してくださいiOS アプリケーション プログラミング ガイド

アクセスするには文書アプリケーション サンドボックスのディレクトリでは、以下を使用できます。

iOS 8以降では、これが推奨される方法です

+ (NSURL *)applicationDocumentsDirectory
{
     return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}

iOS 7以前をサポートする必要がある場合

+ (NSString *) applicationDocumentsDirectory 
{    
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = paths.firstObject;
    return basePath;
}

これ文書ディレクトリを使用すると、アプリが作成したり必要になる可能性のあるファイルやサブディレクトリを保存できます。

ファイルにアクセスするには図書館アプリのサンドボックス使用ディレクトリ(paths上記の代わりに):

[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0]

おすすめ記事