アプリのバージョンアップ版ができたので、Archiveして、Validateして、「Submit App Store」ボタンをポチッとしてバイナリをアップしようとしたら、XMLエラーがでてしまいました。
エラーは3つ。
- An XML parsing error has occurred.
- The XML file:metadata.xml in /var/folders/dg/…./xxxxxxxxxx.itmsp is NOT well-formed.
- The package: xxxxxxxxxx.itmsp will NOT be uploaded.
の3つです。
そこで、慌てす騒がずネットで調べてみたところ、CFBundleDisplayNameなどに「&」が入っていたりするとこのエラーが出るそうです。
ですが、今回はバージョンアップで、アプリ名などの変更はしていません。ネットではこのエラーの情報はあまりなく、万策尽きて途方に暮れてしまいました。
と、よくよく見るとエラーメッセージにちゃんと解決のヒントが書いてあるではないですか。問題があったXMLファイルの場所がちゃーんと書いてあります。/varというディレクトリに、アップするときの関連ファイルがあるとは思ってもみなかったのでスルーしていました。
というわけで、エラーメッセージに書かれている
/var/folder/dg/・・・・xxxxxxxxxx.itmsp
というファイルを探すことにします。
/varというフォルダは通常では見えないフォルダなので、Finderのメニューから
移動 > フォルダへ移動
を選んで、パスを直接入力します。全部入力するのは面倒ならば
/var
だけ入力すれば/varがウィンドウが開くので、順番に下の階層のフォルダを開いていけばOKです。
これで目的のファイル「xxxxxxxxxx.itmsp」が見つかります。
さて、見つかったけど、このファイルはなんだろう?
XMLなのかと思って、テキストエディタで開いてみたけどダメ。
ここで諦めそうになったけど、右クリックして「パッケージの内容を表示」を選ぶと・・・
バイナリファイルのIPAファイルと、metadata.xmlがでました!
このmetadata.xmlをテキストエディタで開くと・・・原因がわかりました。
バージョン番号に変な文字(見えないけど、存在する文字)が入っていました。
というわけで、Xcodeのバージョン入力欄を修正して、Archive、Validate、「Submit App Store」で無事アップすることができました。
この画面を見るとホッとします。