[UPDATE1]クリーン・インストール後に便利な復元サポートツール”iPhone Backup Extractor”

JailBreakしたiPhoneの動作が不安定になったらどうするか?原因が不明な場合は最終手段として復元することになる。動作不安定になった原因が特定できていないので、iTunesのバックアップから復元ではなく「新しいiPhoneとして設定」を選択して環境を一から構築することになる。

JailBreakアプリはレポ登録含めて割とカンタンに復元できるが、SMS送受信内容やAppStoreアプリの設定内容や登録したデータ(db/SQLite)はどのように復元すればよいのだろうか?そんな時にiTunesのバックアップファイルから必要な情報を取り出してくれる”iPhone Backup Extractor”が便利だ。

iPhone Backup Extractorは母艦側(Mac)のアプリ。iTunesのバックアップから取り出す作業にiPhone本体のJailBreakは必要ないが、iPhone側に戻す際に通常ではアクセス出来ない領域に書き戻すことになる。

注意喚起情報
iPhoneに書き戻すにはJailBreakが必要になります。JailBreakされたiPhone/iPad/iPod touchはメーカー保証対象外となるため動作不良や故障に陥ってもサポートを受けることができません。万一の際には保証期間内であっても有償となってしまいます。また、JailBreakはアップル社の施したセキュアな枠組みを無効化することになるため、外部からの侵入によってウィルスに感染し動作が不安定になったり、個人情報等が流出してしまう可能性(危険)を伴うものです。さらに、JailBreakされたiPhone/iPad/iPod touchにAppStore以外で配信されるアップル社が承認していないサードパーティー製のアプリケーションをインストールする行為は、その安全性が保証されておらず悪意のあるプログラムが混入している可能性もあり、未知なる危険を伴うものです。これらのリスクを理解出来ない、または自ら当該リスクに対処することができない場合はJailBreakしないようにしてください。

JailBreakとその危険性についてはこちらのサイトで詳細に説明されていますので是非確認してください。
をぢの日記【iPhone_JB】Jailbreakによるリスクと問題について


iphone-backup-extractor

まず、iPhone Backup Extractorをココ(http://supercrazyawesome.com/)からダウンロードする。

つぎに、”Read Backups”をクリックすると、iTunesでバックアップされた情報(~/Library/Application Support/MobileSync/Backup/)がリスト化されるので、デバイス名とバックアップした日付を頼りに対象ファイルを選択する。すると上図のように”Application Name”に各アプリ名と”iOS File”が一覧になる。iOS FileにはSMS送受信やSafariの履歴、電話履歴などのネイティブアプリの情報が含まれている。抽出したいアプリ名を選択して”Extract”する。

たとえば、SMS送受信内容を取り出す場合は、”iOS Files”をExtractすると指定場所に”iOS Files”フォルダが現れ、その中に./Library/SMS/sms.dbというファイルがあるので、これをiPhone側の/private/var/mobile/Library/SMS/にあるsms.dbに上書き(念のためバックアップ推奨)する。

ただ、これだけだとSMS/MMSの過去の送受信内容は見れても、(プッシュ通知は受取り可だが)受信できないし、送信しようとすると「メッセージを送信できません メールアドレスに送信するには、MMSメッセージングを有効にする必要があります。」と出てしまう。これはsms.dbのオーナーをrootからmobileへ変更しRespringすることで解消できた。

他にAppStoreのデータベース系アプリ等の場合、「新しいiPhoneとして設定」してしまうと、アプリを同期しただけではこれまで記録した内容(db/SQlistファイル)が戻せない。これをiPhone Backup Extractorから該当アプリを選択して抽出し、iPhone側の”/private/var/mobile/Applications/アプリ/”の例えばDocumentsにコピーするだけだ。アプリ動作上で何らかのエラーが発生するようであれば、バックアップから戻したファイルのオーナー、グループ、権限を修正すれば解決すると思われる。
※この方法がiTunesのオプションで「iPhoneのバックアップを暗号化」を選択している場合に有効かどうかは不明。

アプリのカンタンな設定内容であればクリーン・インストール後も手動で十分であるが、db/SQLite系のデータの再入力は実質不可能に近い。復元前にmobile以下ディレクトリを全て母艦側にコピーとっておくというのも非効率なので、必要な情報のみを取り出せるこのアプリは復元作業に欠かせないツールだ。もちろん、直前状態がiTunesにバックアップされていることが前提なわけだが。

動作環境
MacBook(MB404J/A) Mac OS X 10.6.4

[UPDATE1]クリーン・インストール後に便利な復元サポートツール”iPhone Backup Extractor”」への4件のフィードバック

  1. 「sms.dbのオーナーをrootからmobileへ変更しRespringする」とありますが、具体的にどのようにするのでしょうか?
    メッセージが送信できなくなり、検索していたところ、こちらのブログを拝見した次第です。お手数ですがよろしくお願いします。

  2. DR47さま、ご質問ありがとうございます。
    ターミナルを使用してchmod、chownコマンドを使用して変更できますが、CydiaからリリースされているiFileを使うと簡単です。
    iFileで/var/mobile/Library/SMS/を開き、sms.dbの右側の「>」をタップしてファイル属性を確認してください。所有者情報でオーナーがrootになっていればmobileを選択し、グループもmobileにしてください。念のため、アクセス権についてユーザーは「読み、書き」、グループが「読み」、その他は「読み」であることを確認してください。

  3. 返信ありがとうございます。
    判りやすい説明ですぐに確認できたのですが、残念ながらすでにmobileになっておりアクセス権についてもご指示通りでした。
    脱獄してテザリングができるようになったまではよかったのですが、MMSメッセージが送受信できなくなるデメリットを抱えることになってしまいました。
    脱獄の危険性をあらためて認識させられました。
    今後もブログ頑張ってください。

  4. DR47さま、結果のご報告ありがとうございました。ダメでしたか。かすかな望みでRespringとかRebootです。SBSettingsをインストールしていればカンタンですが、ない場合は言語設定を変更するとか電源をオフにしてオンにする等の方法があります。
    お力になれずにすみません。

コメントは受け付けていません。