iTunesの!マーク&同期ができなくなったときのメモ

iOS7アップデート後の問題

iOS7の脱獄が解禁されたのを受け、iPhone4S(iOS6JB)と iPad2(iOS5JB)を遅ればせながらiOS7にアップデートしました。

幸いなことに、iPhoneを先にアップデート&JBしたため、iPad2のJB不具合は経験せずに済みました。続報を待つことにしています。

ところが、iPhone4S のアップデート、JB、復元の作業をしたところ、アプリが軒並みコピーできないエラー、ミュージックも同期できなくなりました。その原因と解決方法が分かったのでメモしておきます。

アイコンが表示されない?

実は少し前から iTunes にてアプリのアップデート時にアイコンが表示されなくて不思議に思っていた。そのまま追究せずに昨日まで放置。

復元後、アプリとミュージックの同期に失敗

iPhone4S(iOS6JB) を iOS7.0.4 にアップデートした。iTunes は最新の11.1.3 。

復元で120個ものアプリがコピーに失敗した。「○○のファイルが見つからないためインストールできませんでした」というエラー。数は違うけれどこんな表示。

さらにミュージックもまったく同期できなかった(何度同期してもコピーされずに終了してしまう)ため、最初はミュージックの同期問題を追究していたが、どうもアプリの同期ができずに終了してしまってミュージックまでいかないのが原因であることにやっと気付く。

iTunesのアプリ一覧に「!」マークがついているものが元のファイルを見失っていることに気付く。アイコンが表示されないアプリとも一致。

この左側の「!」マークがついているアプリが恐ろしい数あった(たぶん120個ぐらいなのだろう)。このアプリの元ファイルを表示させようとすると以下のように場所が分からなくなっている。

そこで「!」の解決方法を検索したら以下のページを見つけた。

iTunesのびっくりマークをなんとかして修復した - Now Headline X 開発日記 < 筆者さま、ありがとうございます

それによると「!」がついたアプリの情報を見ると、ファイルのパスが

/Users/Donkey/Music/…

となるべきが

file://localhost/Users/Donkey/Music/…

となっている。

どうせ iTunes Library.xml などを編集で一気に書き換えれば解決するだろうと思ったら、iTunes Library.xml は元ファイルで、実際のDBファイルはそこから生成される(ここは詳細不明)iTunes Library.itl なるファイルであり、これはバイナリなので編集できないのだそうだ。

ライブラリを指定しなおす方向で解決

そこで、ライブラリを作り直す方向で調べ直す。以前何度かやったけど、こういうことは頭に残っていない。

AppleのサポートDBにて以下を発見

iTunes:iTunes ライブラリおよびプレイリストを作成し直す方法

iTunes:失ったメディアやダウンロードを探す

この2件から
iTunes Library.itl を再作成する方法が分かるが、自分のフォルダを見ると、

iTunes Library.xml
iTunes Music Library.xml

の2つが存在していた。さらにライブラリフォルダの内容を眺めていると

a) /Users/Donkey/Music/iTunes/Mobile Applications
b) /Users/Donkey/Music/iTunes/iTunes Music/Mobile Applications

の2つのアプリ格納フォルダが存在することが分かった。音楽ファイルには混乱はなかった。bフォルダのアプリの日付がすべて7月以降であることから、iTunesが今年の7月ごろからaフォルダからbフォルダを見るようになっていたようであると推測できた。

そのため、a, b のフォルダの中身を統合し(実際には、b の中身を a にコピー)、iTunesの環境設定... >> 詳細 >> "iTunes Media" フォルダの場所 で、a フォルダの属す

/Users/Donkey/Music/iTunes/

を指定しなおし、アプリの「!」マーク問題は解決した。

アプリ格納フォルダが移動してしまった原因は不明だが、iTunesのアップデートと関係ありそうな気はする。

以上でアプリとミュージックの同期問題もすっきり解決。ここまで2時間も格闘。