読者です 読者をやめる 読者になる 読者になる

IwamotoBlog

俺に付いて来い

XcodeからiTunes Connectにアプリをアップロード出来ない時の対処法

XcodeでアプリをArchiveし、Upload to AppStoreをクリック。Validateの完了を確認し、Uploadをクリック。
後はUploadの完了を待つだけ……。

の、はずだったのに。いつまで経っても終わらない。Sending API usage to iTunes Connectと表示したまま一向に動きを見せない。
何を送っているんだ?いつまでお前はAPIを送信するつもりだ?

やがて録り貯めていたアニメを一本見終わる頃にXcodeをもう一度開いてみると......

f:id:PEPOipod007:20160226192408p:plain

よくある事です。Macを殴る手を止めて下さい。
ほら、以下の引用を読んで一緒に笑いましょう。

I also faced similar problem. I can't upload from my office, but can upload from my home. I assumed that my office's internet connection has problem with Apple server. If you get problem with Xcode to upload, you can download Application Loader separately from iTunes connect and try with that and wait for passing sending api usage state.

stackoverflow.com

まあ違うWi-Fiにアクセス出来る環境なんて、そう直ぐに用意できる人は中々居ませんよね。
そこで今回はこのような問題が起きた時に、直ぐに対処出来る方法を皆さんにお教えしようと思います。

Application Loaderを使おう!

こういう問題が起きた時は相当運気が高くない限り、もう二度とそのWi-Fi環境ではXcodeからのアップロードは難しいでしょう。
そういう時は潔く諦めて、Xcodeではipaを書き出すに留め、Application Loaderというアプリを用いてiTunes Connectにアップロードするのがベターとされています。

それでは早速手順を紹介していきます。

Xcodeipaを書き出す

先ほどUpload to AppStoreというボタンを押しましたね。その下にExportというボタンがあるはずです。そちらをクリックして下さい。
クリックするといくつか選択する項目がありますね。こちらでipaのタイプを選択出来ます。状況に応じて選択すると良いかと思われます。まあ一番上のSave for iOS App Store Deploymentを選んでおけば間違いないでしょうが。

その後は画面の指示に従い、Validateし、Exportというボタンを押して書き出しの完了を待ちましょう。
完了するとFinderが開き、書き出し先のフォルダが表示されます。

Xcodeでの作業はここまでです。Application Loaderでの作業に移りましょう。

Application Loaderからアップロードする。

それでは続いて、Application Loaderでの作業に移ります。
Application Loaderなんてアプリ無いよ!と思われる方も多いでしょうがご安心ください。Xcodeがインストールされているなら間違いなくあります。

アプリケーションフォルダを開き、Xcode.appの上で右クリック、パッケージの内容を表示という項目をクリックして下さい。
そこからContents -> Applications と辿って行くとApplication Loader.appが見つかるはずです、それをダブルクリックして開いて下さい。

f:id:PEPOipod007:20160226195139p:plain

このような画面が表示されましたね?Appをデリバリをクリックして下さい。
クリックするとデリバリするアプリのファイルを求められるので、先ほど書きだしたipaファイルを指定して下さい。

後は画面の指示に従うだけです。次へを押し、しばらく待つと送信完了のメッセージが表示されるはずです。
メッセージを確認したらiTunes Connectにアクセスし、無事アップロードされている事を確認しましょう。

おわりに

Application Loaderの警告を見る限り、恐らくAPI分析ファイルが大きくなりすぎる事でアップロードが失敗しているのだと思われます。特に僕はUnityから書きだしたプロジェクトでよく見かけます。
じゃあどうしろって言うんだ、と言われるとこうするしか無いので、Sending API usage to iTunes Connectという文を無限に見る作業に従事されている方は、スッパリ諦めて大人しくApplication Loaderを使用する事をお勧めします。

皆さんがMacを壊す事なく、安らかな精神で日々を過ごせる事を心から願っています。