概要
最近 Unity で iOS 書き出しをしたアプリを Xcode から iTunes Connect にアップロードする際にエラーに悩まされたので、その対処法を忘却録として残しておきます。
特に Unity 依存の問題という訳ではないと思うので、普通に Xcode で開発している場合にも良いはず。
現象
Archive したアプリを Organizer から "Upload to App Store..." した時に、以下のエラーが。何度試してもこれ。
This action could not be completed. Try again. (-22421)
ググって stack overflow を見ると、 「Apple のサーバー問題だから待ちましょう」的な記事がかかったので、まあエラーメッセージ的にもそうだよなーと思って、次の日に。
すると次の日も同じエラーが。。実際は違うエラーを吐くべきだけど、 Apple が 22421 のエラー吐いているのではないか説が浮上。以下の対処法でなんとかなりました。
対処法
今回の場合、 Organizer でダイレクトにバイナリをアップロードせずに、 Application Loader を使ったら前に進めました。
Organizer でダイレクトに上げずに、 Export したものを Application Loader で上げるという対応です。上の画像を参考に。
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 が返すべきエラーを吐いてくれるかも。という話でした。