Amarronの日記

iOSやMac、Web系の記事を書きます。

App Store に iOSアプリ を 公開する方法

大まかな流れが中心です。画像や詳細なイベントは他の参考サイトで確認して下さい。
証明書関連の作成参考サイト:http://r-dimension.xsrv.jp/classes_j/ios_test/
iTunes Connectデベロッパガイド:https://developer.apple.com/jp/documentation/iTunesConnect_Guide.pdf

前提条件

Apple Developer Programに購入済み。
Apple Developer Program購入方法(法人)はこちら

流れ

  1. 証明書関連の作成(Certificates, Identifiers & Profiles)
    1-1. Certificatesの作成
    1-2. Identifiersの作成
    1-3. Devicesの追加(開発用のみ必要)
    1-4. Provisioning Profilesの作成
  2. Xcodeで証明書を設定
  3. 配布したいアプリの設定
    3-1. iTunesConnectでアプリを追加
    3-2. Xcodeでアーカイブ
    3-3. iTunesConnectでアプリの状態確認

1. 証明書関連の作成(Certificates, Identifiers & Profiles)

申請に必要な証明書関連を作成します。
証明書(CertificatesとProvisioning Profiles)は、ダウンロード後クリックするとMacのキーチェーン保存されます。
キーチェーンに保存後Xcodeでその証明書を選択しアプリの実機確認や配布用のアーカイブに利用します。

「Certificates, Identifiers & Profiles」の項目説明

url:https://developer.apple.com/account/ios/certificate/certificateList.action

  • Certificates
    開発者の証明書
    (開発用と製品用に1つずつ必要となります。(複数アプリで同じ証明書を利用する))
    (プッシュ通知を利用する場合は、さらにアプリごとに開発用と製品用に1つずつ必要となります。)

  • Identifiers
    アプリのID(1アプリに対して1つ必要、Wildcard App IDを選ぶと全アプリで利用可能となります。)

  • Devices
    実機確認用iPhone一覧(アプリに対して利用可能な実機を追加できます。)

  • Provisioning Profiles
    開発者とアプリを紐付けるファイル(1アプリに対して開発用と製品用に1つずつ必要となります。IdentifiersのWildcard App IDで証明書を作成すると全アプリで利用可能となります。)

f:id:Amarron:20140212110453p:plain

1-1. Certificatesの作成

左のメニューのCertificatesをクリックし右上の「+」で新規作成を行います 。

f:id:Amarron:20140212105838p:plain

Development(開発用)かProduct(製品用)かどちらかを選びます。
CSRファイルを作成します。(ここはMacのキーチェーンアクセスで行います)
(ユーザーのメールアドレスはAppIDで登録したメールアドレスを利用し、デスクに保存を設定するをチェックします。)

f:id:Amarron:20140212110007p:plain

作成したCSRファイルをアップロードします。
Certificates(証明書)が作成されるのでダウロードします。

1-2. Identifiersの作成

左のメニューのIdentifiersをクリックし新規作成を行います。

f:id:Amarron:20140212111710p:plain

名前(App ID Description Name)はアプリ名(英数)にすると分かりやすくなると思います。
接頭辞(App ID Prefix)はTeamIDが良さそうです。(複数の App ID Prefixとキーチェーンについて
識別子(App ID Suffix)は逆ドメインが推奨されています。(Wildcard App IDを選択すると全てのアプリ共通で利用出来ます。)
注意:Bundle App IDは、各アプリのBundle App ID(plistの「Bundle identifer」)と一致している必要があります。

f:id:Amarron:20140212120058p:plain

1-3. Devicesの追加(開発用のみ必要)

左のメニューのDevicesをクリックしデバイスを追加します。
メモ:「UDID」は、XcodeのOrganizerで確認出来ます。(Devicesで、対象のiPhoneを選択し「Identifier」がUUIDです)
注意:「Register Device」のNameは半角英数で登録しないと文字化けします。(文字化けした状態で複数登録してると判断出来なくなるので半角英数で登録すると分かりやすいと思います)

f:id:Amarron:20140212112532p:plain

1-4. Provisioning Profilesの作成

左のメニューのProvisioning Profilesをクリックし新規作成を行います。
「1-2. Identifiers」で作成したアプリIDと「1-3. Devices(開発用のみ必要)」を選択します。
「Provisioning Profiles」が作成されるのでダウンロードします。

f:id:Amarron:20140212113158p:plain

2. Xcodeで証明書を設定

Buid SettingのCode Signingで「1-1. iOS Certificates」で作成した証明書を設定します。
(プッシュ通知も必要な場合、「Provisioning Profile」に「1-4. Provisioning Profiles」を設定します)

f:id:Amarron:20140212114924p:plain

3. 配布したいアプリの設定

作成したアプリをApp Storeで配布するためにアプリを追加します。

3-1. iTunesConnectでアプリを追加

iTunesConnectに接続します。
Manage Your AppsをクリックしてAdd New Appを選択するとアプリの追加設定でができます。

f:id:Amarron:20140212133933p:plain

注意:「1-1. Certificates」で製品用の証明書を作成していないと、"You have no eligible Bundle IDs for iOS apps. Register one here."と表示され新しくアプリを追加出来ません。

App Informationでは、アプリ名(App Name)や管理番号(SKU Number)を設定します。
App Nameは、App Storeに表示されるアプリ名で申請の途中で変更可能です。(既に登録されている名前は登録出来ません。日本語入力出来ます。)
SKU Number、管理番号で途中で変更できません!(既に登録されている名前は登録出来ません、プロジェクト名等分かりやすい名前でOK)
Bundle IDは、「1-2. Identifiers」で設定したIDを選びましょう。

f:id:Amarron:20140212134412p:plain

配布希望日(Availability Date)は、未来日を設定します。私は2週間位先を大体設定しています。(AppStoreの新作として表示される日らしいです。)
アプリ料金(Price Tier)はアプリ料金を設定します。
教育機関向けの割引(Discount for Educational Institutions)は無料アプリであればチェックを外します。
法人向けカスタム非公開アプリ(Custom B2B App)もチェックを外します。

f:id:Amarron:20140513123236p:plain

アプリの詳細情報を入力を完了すると、ステータスが「Prepare for Upload」に変わり「Ready to Upload Binary」が選択できるようになります。 f:id:Amarron:20150314203827p:plain

「Ready to Upload Binary」が選択し、法的な質問に答えるとステータスが「Waiting For Upload」に変更されます。
Xcodeでアーカイブを作成しましょう。

3-2. Xcodeでアーカイブ

Buid SettingのCode Signingで「1-1. iOS Certificates」で作成した証明書を設定します。(製品用に変更します)
(プッシュ通知も必要な場合、「Provisioning Profile」に「1-4. Provisioning Profiles」も製品用に変更します)

f:id:Amarron:20140212114924p:plain

ツールバーのProduct->Archiveを選択します。
アーカイブが完了するとOrganizer画面が表示されるので「Validate」を選択しましょう。(Validateでエラーになる場合が多いのでハマるかもしれません。。。)
Validateが成功したらDistributeを選択しましょう。
f:id:Amarron:20150314203850p:plain

3-3. iTunesConnectでアプリの状態確認

ステータスが「Waiting For Upload」から「Upload Received」に変更されていればアプリの追加成功です。
数分後に「Waiting For Review」に変更されます。
後は、App Storeに公開されるのを待つだけです。お疲れ様した。

今後のステータス

Waiting For Review

In Review(Appleレビュー中)

Processing for App StoreApp Storeに公開されるまでのチョットした待ち時間)

Redy for Sale(App Storeに公開されている状態)
(2015/01追記:Redy for Sale(販売準備完了)にステータスが変更されてもすぐにストアに公開されない場合もあるようです。24時間過ぎても公開されないようであればAppleへ問合せしましょう。問合せはiTunesConnectのフッターの「連絡先」リンクより問合せが出来ます。)

「Waiting For Review」と「In Review」はトータルで1〜2週間かかります。(アプリにもよります)
審査NGの場合、「Processing for App Store」へ進まず「Rejected」のステータスになります。(指摘内容を修正して再度、「3-2. Xcodeでアーカイブ」からやり直し)
「Processing for App Store」は、数時間で「Redy for Sale」へ変更されます。