iOS Fileの置き場所
iOSでユーザ情報や, 様々な設定ファイルあるいはダウンロードコンテンツなど,
開発側で操作できるApplication領域ディレクトリはいくつか存在します。
Programming Guideによるとそれぞれに用途があり, iTunesのバックアップ対象になったり, iCloudのバックアップ対象になったりする違いなどがあります。
ディレクトリと簡単な説明
名前 | 説明 |
---|---|
Application_Home/Documents/ | ユーザデータ用, iTunesでバックアップ対象になる |
Application_Home/Library/ | ユーザデータではないアプリケーションデータや環境設定など |
Application_Home/tmp | 一時ファイル, システムが古いファイルをこのディレクトリから削除する場合がある |
※Application_HomeはApplication Rootのこと
※tmpはシステムからのアクセスで消去されるらしいですが, タイミングがわからないので, ファイルを使用しなくなったら
自分で削除しましょう。
ではファイルはどこにおく?
通常のユーザデータ, よく利用するデータなどは, Documentsで, データのキャッシュは, /Library/Cacheで, 一時的に必要なデータは, tmpにいれます。
iCloud関連は別で…
Simulatorで確認する
Simulatorにおけるデータは, ~/Library/Application Support/iPhone Simulator/
に存在します。Finderでも確認できます。Libraryなんてないよという方は,
で表示方法を書いておきました。
実機の場合
実機でApplication Directoryを確認するには, 何かしらのツールが必要です。
iExplorerなんかで確認できますよ。ほかにも多分あるはずです。
コードで取得する
コードでパスを取得しましょう。(NSString *で取得)
Documents
NSString *documents = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0];
Cache
NSString *cache = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)objectAtIndex:0];
tmp
NSString *tmp = NSTemporaryDirectory();
Ref 参考
このあたりをきちんと説明してくれているものが, Appleから提供されています。
FileSystemProgrammingGuide(English)
日本語もあります。
ファイルシステムプログラミングガイド