本当に久々にiPhoneアプリをAppStoreにアップロードする機会に遭遇し、いろいろ手順を忘れててめちゃくちゃてこずったので、備忘録として残しておこうと思います。近いうちに改めて書いておこうとは思いますが、AppIDの発行とプロビジョニングファイルの作成についてはここでは割愛して、iPhoneアプリの本番用モジュールを作成する方法を記載しておきます。

ソースをXCodeで展開する

まず前提として、ネイティブでiPhoneアプリを開発する場合にはXCodeを使用することになります。XcodeはMac OSでしか動作が保証されていないので、iPhoneアプリをネイティブで作ろうと思うと、必然的にMacintoshが必要になります。Xcodeで開発をした場合、.xcodeprojという拡張子のファイルが書き出されます。このファイルがいわゆる元のソースということになりますので、これを本番用モジュールにビルド(コンパイル)していきます。
xcode

Built&Settingの設定を変更する

.xcodeprojを本番用モジュールにビルドするにあたって、ProjectとTargetの二箇所のビルド設定を修正する必要があります。修正する箇所はいずれもCode Signing(コードサイニング)であり、ここでAppsIDがバンドルされた配布用のプロビジョニングファイルを選択します。選択する箇所はDebugとReleaseの4箇所になり、すべて同じプロビジョニングファイルを選択します。

ビルドを行う

ビルドを行う前にやって一つやっておくことがあります。メニュバーのProductから「Edit Scheme」を開き、「Build Configulation」をreleaseに変更します。この後に、再度ProductからBuildをクリックしてビルドを開始します。

ビルドしたソースを圧縮して.ipaファイルに変換する

ビルドしたら、「***.xcodeproj.適当に振られる文字列」というフォルダが生成されます。生成される場所についてはメニューバーのXcodeのドロップダウンリストでPrefarenceを選択して、立ち上がったウインドウのLocationsタブを開くと、「Derived Data」という項目があり、そこに書き出されるフォルダのパスが書いています。パスにしたがってフォルダを開いていくと、中にBuildというフォルダが生成されており、その下層に「release-iphoneos」フォルダがあり、それを開くと「***(任意の名称).app」というフォルダがあるので、それを圧縮します。普通に圧縮するとZIPになるので、拡張子を.ipaに変更してください。

iTunes Connectでアップするアプリの登録を行う

Manage your Appsで新たに、もしくはアップデートするアプリを登録します。詳細はまたの機会にしますが、この作業をしないと、モジュールをアップロードすることが出来ません。

Application Loaderを使ってアップロードする

AppStoreにモジュールをアップするためだけのツール、それが「Application Loader」です。このアップローダーはXcodeをインストールすると一緒についてきます。画面を立ち上げると「Deliver your App」というボタンがあるのでそれをクリックします。アップするアプリのを選択する画面に移るので先ほど登録したアプリを選択します。確認画面が表示されるので誤りが無ければ、ここで先ほど作成した.ipaファイルを選択して、Startボタンをクリックします(容量にもよりますが、アップローダーで展開してからAppStoreにアップロードするので結構な時間がかかります)。アップが完了したらiTunes Connectでステータスが「waiting for upload」から「Waiting For Review」になれば一連の流れは完了です。

Apple製品はシンプルで感覚的に使えるというイメージが強いですが、実際Windowsに慣れているとその使い勝手の違いはすさまじいものがあり、なかなかに苦労します。慣れれば楽チンなんでしょうけどねー。