18
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iOSの各種バックアップとKeychainの復元状況を検証

Last updated at Posted at 2016-02-08

アプリからKeychainに保存したデータがバックアップされているのか確認したかったので総当たりで検証したメモです。
結果から言うと同一デバイス間か異なるデバイス間かで結果が変わります。

環境

デバイス

  • iPhone6+ (8.4.1)
  • iPhone5 (8.4.1)

リセット方法

  • すべてのコンテンツと設定を消去

同一デバイス間で検証

iPhone6+ -> iPhone6+

|復元方法|Keychain|
|---|---|---|
|新しいiPhoneとして設定|データなし|
|iCloudバックアップから復元|復元されている|
|iTunesバックアップから復元|復元されている|
|暗号化されたiTunesバックアップから復元|復元されている|

異なるデバイス間で検証

iPhone5 -> iPhone6+

|復元方法|Keychain|
|---|---|---|
|iCloudバックアップから復元|データなし|
|iTunesバックアップから復元|データなし|
|暗号化されたiTunesバックアップから復元|復元されている|

まとめ

  • 機種変だと異なる端末から復元されるパターンになるので注意した方が良い。例えばデータベースのアクセスキーをKeychainに保存しているアプリでアプリをバックアップに含めていた場合に、アプリ内のデータベースは復元されるけどKeychainに保存していたアクセスキーは復元されないパターンがあるのでそうなるとデータベースにアクセスできない状況が起きます。
  • 他に未検証なのはiOS9とiTunesで初期化してから復元がありますが、仮に挙動が変わってもKeychainが復元されない場合を想定していれば大丈夫そう。
18
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?