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//Applications/
に存在します。Finderでも確認できます。Libraryなんてないよという方は,
で表示方法を書いておきました。

ios file location
とあるアプリケーションのディレクトリを見た結果です。

実機の場合

実機で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)
日本語もあります。
ファイルシステムプログラミングガイド