2015年10月9日金曜日

iPhoneのLineトーク履歴のみを復元する

iPhone 6からiPhone 6sへと機種変したのですがiPhone 6sでのLineの設定を済ませる前に、従来のiPhone 6でLineを受信してしまいました。


一方で、ヘルスケアやiMessage、写真等はiPhone 6sの方が最新になってしまっており、再度iPhone 6のiTunes(iCloud)バックアップデータから復元してしまう訳にも行かなくなったので、Lineのトーク履歴だけ復元してみました。

結果的には以下で上手くいきましたが、全ての環境において同様に実現できるか保証するものではありません。
なお、扱っているiPhoneは全て非脱獄(Jailed)環境です。

実施環境
  • Lineトーク履歴が最新のiPhone(今回の例ではiPhone 6:以下、旧iPhone)のiTunesバックアップデータ(暗号化、非暗号化どちらでも)
  • 復元したい対象のiPhone(今回の例ではiPhone 6s:以下、新iPhone)のiTunesバックアップデータ(非暗号化のみ:抽出したデータを上書きする為)
  • iBackupBot
  • Lineのバージョンは2015/10/07時の最新(バージョン5.4.0)

実施した事
  1. Lineトーク履歴が最新のiPhone(旧iPhone)のiTunesでのバックアップを実施する(暗号化、日暗号化どちらでも)
  1. 復元したい対象のiPhone(新iPhone)のiTunesでのバックアップを実施する(非暗号化)
  1. iBackupBotをインストールする
  1. iBackupBotを起動し、Lineトーク履歴が最新のiPhone(旧iPhone)のバックアップデータを選択する


  1. iTunesバックアップデータのディレクトリー一覧が見えるので、App Group Filesを選択し“Line.sqlite”を検索、そのファイルが含まれる階層(以下、今回の例)を把握する。
    Lineのバージョンによってはファイル名や、ディレクトリー名が全く異なるので注意。(Lineのトーク履歴のファイル名がLine.sqlite、Talk.sqlite等、異なる)
    iPhone 6 - App Group Files - com.linecorp.line - Library - Application Support - Messages


  1. Line.sqliteをエクスポートする。


  1. iTunesバックアップデータのディレクトリー一覧から、今度はUser App Filesを選択し、“Line”を検索し、Lineフォルダーを選択する。(以下、今回の例)
    iPhone 6 - User App Files - LINE


  1. Lineフォルダー内の“Library”および、“Documents”フォルダーをエクスポートする。


  1. 復元したい対象のiPhone(新iPhone)のバックアップデータ(非暗号化)を選択。

  1. 先ほどエクスポートした“Line.sqlite”ファイル、および、“Library”、“Documents”フォルダーを、復元したい対象のiPhone(新iPhone)のバックアップデータの同じ場所にインポートする(バックアップデータが暗号化されていると、インポートできない)

  1. iBackupBotを起動させたまま、復元したい対象のiPhone(新iPhone)を接続する。この時、必ず“iPhoneを探すの機能をオフにしておく(オフにしないと、次のリストアができずエラーになる)

  1. 復元したい対象のiPhone(新iPhone)のバックアップデータで、先ほどインポートした“Line.sqlite”ファイルを含むフォルダー、および、“Library”、“Documents”フォルダーを選択し、Restoreを実施する

以上で、Lineのトーク履歴も最新のものに置き換わりました。
iTunesでの復元のように全データを置き換えずに、部分的に復元ができるので数分で作業は完了しました。
こんな面倒な作業が必要ないよう、履歴や異なるOS間の移行をサポートするオフィシャルのツールを公開してもらいたいものです。

なお、同様にiPhoneの内部データににアクセスをするiFunBoxでは、iOS 8.3以降では、Lineのフォルダーのある階層が閲覧できず、今回の作業はできませんでした。

0 件のコメント:

コメントを投稿