iOSアプリのデータ保存場所
保存場所
- メモリ
- NSCache:メモリが足りなくなれば自動的にアイテムが消される
- Dictionary や Array
- ファイルシステム
- ディレクトリ:基本的に iCloud へバックアップされる
- UserDefaults:プリミティブ型のユーザ設定を保存する、起動時にメモリに展開される、iCloud へバックアップされる
- データベース:Core Data、Realm、SQLite など
- KeyChain
ファイルシステムの構造
/
Applications/ (大事)
Developer/
Library/
System/
User/
bin/
dev/
etc/
lib/
mnt/
private/
sbin/
tmp/
usr/
var/ (大事)
/Applications
/
Applications/
{$appname}.app/: pre-installed apps
/var
var/
containers/
Bundle/
Application/
{$uuid}/: App Store app/
BundleMetadata.plist
{$appname}.app/
mobile/
Containers/
Data/
Application/
{$uuid}/: App Store app's data、アプリが削除されると消える
Documents/ - ユーザデータ、ユーザに見せてもいいファイル
Library/ - ユーザへ見せないファイル
Caches/ - iCloudへバックアップされない
Preferences/
{$bundle ID}.plist - UserDefaults、セキュアではない
xxx/
SystemData/
tmp/
Keychain
アプリが削除されても消えない
/
var/
Keychains/
keychain-2.db: iOS Keychain (SQLite DB file)