iPhone
Xcode
iOS
Unity
iTunesConnect

Xcode から iTunes Connect アップロード時に -22421 エラーが出続ける際の対処法

概要

最近 Unity で iOS 書き出しをしたアプリを Xcode から iTunes Connect にアップロードする際にエラーに悩まされたので、その対処法を忘却録として残しておきます。

特に Unity 依存の問題という訳ではないと思うので、普通に Xcode で開発している場合にも良いはず。

現象

Archive したアプリを Organizer から "Upload to App Store..." した時に、以下のエラーが。何度試してもこれ。

This action could not be completed. Try again. (-22421)

スクリーンショット 2017-08-31 23.35.56.png

ググって stack overflow を見ると、 「Apple のサーバー問題だから待ちましょう」的な記事がかかったので、まあエラーメッセージ的にもそうだよなーと思って、次の日に。

すると次の日も同じエラーが。。実際は違うエラーを吐くべきだけど、 Apple が 22421 のエラー吐いているのではないか説が浮上。以下の対処法でなんとかなりました。

対処法

今回の場合、 Organizer でダイレクトにバイナリをアップロードせずに、 Application Loader を使ったら前に進めました。

スクリーンショット 2017-09-03 17.23.48.png

Organizer でダイレクトに上げずに、 Export したものを Application Loader で上げるという対応です。上の画像を参考に。

スクリーンショット 2017-09-03 17.27.30.png

Application Loader は Xcode 起動時に Xcode > Open Developer Tool > Application Loader を選択。

起動して、 App をデリバリを選択して、 Export で書き出した ipa ファイルを選択。

すると、違うエラーメッセージが表示されました。 64bit 関連のエラー( ITMS-90086 )。今回の場合、こちらのエラーの方が粒度が小さかったので、これをまたググって原因潰してアップロードしたら無事エラーなく通過できました。

ちなみに参考にしたのはこちらの記事 > http://waken.hatenablog.com/entry/2016/08/10/084135

まとめ

22421 エラーが出続ける場合は、 Application Loader 経由で試しに上げてみると、実際はアプリに問題があって、本来 Apple が返すべきエラーを吐いてくれるかも。という話でした。