Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
16
Help us understand the problem. What is going on with this article?
@yusuga

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

More than 3 years have passed since last update.

アプリから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が復元されない場合を想定していれば大丈夫そう。
16
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
yusuga
iOS Engineer.

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
16
Help us understand the problem. What is going on with this article?