概要 iOSアプリでは暗号化に使ったキーをKeychainに保存するケースはあると思います。 あるユーザが機種変更で「バックアップから復元したらアプリ起動できなくなった」という出来事に遭遇しました。 それは、Keychainに保存してあったキーがバックアップされてなかったことが原因でした。 Keychainのバックアップがどうなっているのか調べた結果をまとめました。 iTunesバックアップの場合 iTunesバックアップから復元する時、暗号化してバックアップした場合とそうでない場合にKeychainが対象となるかが分かれるようです。デフォルトは暗号化オフの状態になっています。 バックアップ方法 結果 但し、Keychain の kSecAttrAccessible が以下のどれかである場合のみのようです - kSecAttrAccessibleWhenUnlocked - kSecAtt