iOSアプリ公開手順メモ

Androidアプリに比べて手続きが面倒なので手順をメモ。

前提

  • アプリは開発済み
  • Apple ID は持ってる(私用とは別の開発用IDが吉?)
  • 登録処理には Safari を使うこと (Chromeだと正常動作しない)

概要

  1. Apple Developer Programに登録 (ショバ代を払う)
  2. Certificateファイルの作成 (開発者と開発用Macを紐づけた証明書)
  3. Provisioning Profileファイルの作成 (証明書とアプリの紐づけ)
  4. iTunesで新規Appの作成・必要事項の入力
  5. アプリのリリースビルドとアップロード
  6. 提出

Apple Developer Programに登録 (ショバ代を払う)

  • Apple Developer Programに登録する。年間 11,800円払う。
  • 名前は正式な氏名で登録。
  • ふだん私用しているApple IDとは別のIDを使ったほうが良い?(単に日本語の文字化け等の問題?)

Certificateファイルの作成 (開発者と開発用Macを紐づけた証明書)

  1. 開発用Macで、アプリケーション>ユーティリティー>キーチェーンアクセス.appを起動
  2. 認証局に証明書を要求…」を選択し、証明書署名要求ファイルを作成
    • 「ユーザーのメールアドレス」を入力
    • 「通称」には「iOSアプリのリリース用」的なこと
    • 「CAのメールアドレス」は空欄
    • 「要求の処理は」は「ディスクに保存」
  3. Apple Developer の「Certificates」>「Production」で「+」
  4. App Store and Ad Hoc」を選択
  5. 「Upload CSR file」で上記の証明書署名要求ファイルをアップロード
  6. Certificateファイル(*.cer)をダウンロードする
  7. Certificateファイルをダブルクリックしてキーチェーンに追加

Provisioning Profileの作成 (証明書とアプリの紐づけ)

  1. Apple Developer の「Provisioning Profiles」>「Distribution」で「+」
  2. 「Distribution」の「App Store」を選択
  3. 「App ID」でリリースしたいアプリのIDを選択
  4. 「Certificate」で上記のCertificateファイルを選択
  5. Provisioning Profileファイル(*.mobileprovision)をダウンロードする
  6. Provisioning ProfileファイルをダブルクリックしてXcodeにインストール

iTunesに新規Appの作成

  1. iTunes Connectの「マイ App」で「+」
    • 「新規 App」を選択
    • 「バンドルID」はリリースするアプリの逆ドメイン、例えば「net.lipoyang.gppropo」
    • 「SKU」は任意の在庫管理IDなので適当に。バンドルIDと同じでもOK
  2. 「App 情報」の入力
  3. 「価格および配信状況」の入力
  4. iOS App 1.0」の入力

アプリのリリースビルドとアップロード

  1. Xcodeでアプリのプロジェクトを開く
  2. General>Identity>Bundle Identifier がiTunes Connect>App 情報>バンドルIDと一致しているか確認
  3. Build Settings>Code Signing>Code Signing Identity>ReleaseでiPhone Distributionを選択
  4. Build Settings>Code Signing>Code Signing Identity>Provisioning Profileで「iOSTeam Provisioning Profile:」でないプロファイルを選択
  5. Product>Archiveでリリースビルド
  6. ビルドが成功すると、Archives一覧ウインドウが出るので、「Upload to App Store
    • 適切な「Provisioning Team」を選択
    • 確認画面で「Upload」
  7. iTunes Connectに戻り、App 情報>バイナリ で ビルドを選択して「終了」

提出

  1. 「審査に提出」する
  2. 「輸出コンプライアンス」「コンテンツ配信権」「広告ID」について回答する
  3. 「送信」する。アプリのステータスが「審査待ち」になる。