前回まで
前提:Apple Developerアカウントがあり、Xcodeに開発用のプロビジョニングプロファイルを追加してあること。
Apple Developerアカウントがない場合はApple Developer Programの招待を受ける、開発用のプロビジョニングプロファイルがない場合はリポジトリからのチェックアウト〜プロビジョニングプロファイル準備を行ってください。
ストア配布用証明書の追加
さて、実機で動作確認ができるようになりました。
開発用のプロビジョニングプロファイルとストア配布(公開)用のプロビジョニングプロファイルは異なります。後者では証明書の取り込みが必要です1。
まず、配布用のSiging Identitiesを持っている開発者に証明書を書き出してもらってください。
なお、公式のドキュメント「アプリケーションの配布に関するガイド」165ページに証明書・プロファイルのエクスポート・インポート方法が載っています。
Xcodeから証明書を書き出してもらう
ViewDetailsからiOS Distributionを選択し、歯車ボタンからExportをクリックします。
証明書を追加する際に要求するパスワードを設定し、任意の場所に保存してください。
書き出された証明書をインポートする
書き出してもらったp12ファイルを受け取り、ダブルクリックするとキーチェーンアクセスが開きます。
Xcodeで確認します。
Signing IdentitiesにiOS Distributionが追加されているはずです。
アプリのアーカイブ作成
ストアに公開するにはXcodeでアプリをアーカイブし、そのアーカイブをアップロードします。
アーカイブのスキームをリリースに設定
まず、XcodeのメニューからProduct > Scheme > Edit Scheme...を選んでください。ArchiveのBuild ConfigurationをReleaseにして閉じます。
プロビジョニングプロファイルのリリースへ公開用を設定
Build Settings > Code Signing > CodeSigning Identity > Releaseに「iOS Distribution:」から始まるIDを選択してください。
Build Settings > Code Signing > Provisioning Profile > Releaseにも公開用のプロビジョニングを選択します。
Apple DeveloperのProvisioning ProfilesでTypeが「iOS Distribution」となっているのが公開用のプロビジョニングプロファイルです。
設定が見つからない場合はそのまま進んでしまってかまいません。
アーカイブ
左上のDistinationで「iOS Device」か接続している端末を選択し、Product > Archiveを実行します。
アップロード準備(バリデーション)
アーカイブが完了するとOrganizer画面が開くので2、Validateを実行します。
プロビジョニングファイルを保持しているチームを選びます。通常はデフォルトのままで問題ありません。
失敗するとエラーが表示されるので、内容に従って修正してください。上記はすでにアプリをアップロードしているというエラーです(一度Submitしたアプリはビルド番号を変更しないとアップロードできません)。
なお、間違えてBuild Configuration:Debugでアーカイブしても成功してしまうので気をつけてください。
アプリのアップロード
準備が整ったので、ストアに公開するためアーカイブをアップロードします。ここでSubmitするとiTunes Connectへ「ビルド」が追加されます。
バリデーションに通ってもステータスが変化しませんが3、気にせず先ほどのアーカイブ一覧でSubmitボタンをクリックしてください。
Submitを押したらアップロードが完了するまで待ちましょう。進捗のバーは全くあてにならないので、進まなくても気にかける必要はありません。
相変わらずステータスが変わらないので、後で区別できるようにSubmitしたものはコメントをつけておきましょう。
iTunes Connectでアップロードの確認
iTunes Connectにアクセスし、「マイ App」からアップロードしたアプリを選んでください。
「プレリリース」を選択し、先ほどアップロードしたビルド番号が追加されていることを確認します。
iTunes Connectで公開用のビルドを選択
送信しただけでは公開できません。アプリの「バージョン」をクリックして、「ビルド」項目から公開するビルドを選択します。
保存ボタンが「保存済み」でグレーアウトすれば完了です。
レビューへ提出後、Appleの審査を経てアプリが公開されます。おつかれさまでした。