iPad 3GをiTunesの同期で、突如見たことがないエラーが頻発するようになった。
1つ以上のエラーが起きたため、iTunesライブラリに入っている
アプリケーションの一部は iPadにインストールされませんでした。
というエラーメッセージで、一覧を表示させると、Appの同期に失敗したという、不明なエラー (0xE8000022)が、大量に出ている。
SpiritによるJailbreakが原因か、以前の同期の失敗でストレージエリアがおかしくなっているのかと思い、OSの復元を掛けてみた。
すると、復元ができない。Appleマークの下に表示される、進行表示バーが7-8割ぐらいのところで先に進まなくなる。
リカバリーモードでも、DFUモードでも試してみたが結果は一緒だ。
これはこまった、ぶっ壊れたかと思い、ブルーになったが、OSX環境でやってみたら、あっさり復元できた。
が、再度母艦(Win7)に戻して、環境を再構築していたら、不明なエラー (0xE8000022)による、App同期トラブルが発生した。
Twitterでも同様な問題が起きている人が、結構な数確認できた。JB固有の問題かどうか、非JB環境でエラーが出ている人がいるか聞いてみると、答えはゼロ。
ここで疑ったのが、Wi-Fi Syncという無線でiTunesと同期できるCydiaアプリ。Windows版クライアントが出たのでインストールして、 iPhoneで1回試して、iPadで使わず2-3日存在を忘れてた。
Wi-Fi SyncのページのFAQを読んでみると、怪しい記述があった。
必要ないとき、PCやMac上で、同期Appを終了することはできますか?
Can I temporarily exit the app on my PC or Mac, while I don’t need it?
Wi-Fi Syncは全ての同期プロセスを乗っ取って実行しているため、残念ながらできません。強制的に終了させると、(再起動かアプリのアンインストールをしない限り)USB経由の同期もできなくなります。
Unfortunately this isn’t possible due to the way Wi-Fi Sync takes over the entire sync process. Closing it would also disable sync via USB (until you restart or uninstall).
Wi-Fi Syncのクライアントは、母艦上のiTunesの同期プロセスに、完全にオーバーライドしているらしい。こいつがおかしいと、同期関係でどんな問題がでてもおかしくない。
さらに、関連記事を発見。
FIX: Wi-Fi Sync For iPhone/iPod Touch/iPad Breaks Firmware Restores/Upgrades
この記事によれば、Wi-Fi Syncクライアントを導入した状態で、iTunesでiPhone/Touch/iPadの復元をすると失敗する。復元作業の80%ぐらいで、ハングアップ。
な、なんだってー。まさにこれジャン。
記事によれば、復元をするときは、Wi-Fi Syncクライアントを外せと。あるいはXcode経由で復元すればよいと。
ためしにアンインストールしてみると、同期時に不明なエラー (0xE8000022)は出なくなった。複数回やってみても、問題なし。
もう一度、インストールしてみたら、不明なエラーが確実に発生するようになった。ビンゴだ。
Twitterで今一度、App同期、復元エラーが出た人で、Wi-Fi Syncを使ってた人を確認してみると、また複数から報告があった。
iTunesを上書きしたら直ったという報告も数件あるが、Wi-Fi Syncが動作用に書き換えたファイルが元に戻ったのが原因ではないかと思っている。
大変フシギなことに、自分の環境では、iPhoneではこの問題が出ない。他にも報告があがっていない。
この問題がiPad特有なものとしたら、おそらく開発元がiPadでの検証を十分にしていないのでは。
【まとめ】
- 不明なエラー (0xE8000022)による、iTunesでのApp同期に失敗する場合、Wi-Fi Syncクライアントが原因の可能性大。
アンインストールして様子を確認。強制的にdisableすると、USB経由でも同期ができなくなるので注意。 - Wi-Fi Syncクライアントを導入している場合、iPhone/Touch/iPadの復元に失敗する。復元時にはクライアントをアンインストールする必要がある。