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

pixyzehn blog

iPhone App, Mac App, Programming, Web service, Tool, Evernote, etc

【保存版】iPhoneアプリ申請までの手順

f:id:inagex:20140126142357p:plain


Taskeyを申請するときに申請の手順を忘れないようにまとめてみました。


こちらを参考にして、はまったりせずにiPhoneアプリを無事リリースできることを祈ります。

追記
※2014/1/25現在のリリース手順になります。

まず注意するべきは以下の作業においてブラウザはsafariを使うことです。



ChromeだとProvisioning Profileが作成できなかったりしました。


以下のような手順を実際にやっておきます。

  1. 配布用の Provisioning Profile を作成
  2. iTunes Connect でアプリの詳細情報
  3. アップロード

1.配布用の Provisioning Profile を作成

Production用Certificate の作成

iOS Dev CenterのiOS Certificatesにアクセスし、右上の+ボタンを押して作成。

f:id:inagex:20140126142725p:plain

ここで注意することはProduction用のApp Store and Ad Hocを選択することです。

iOS App ID の作成

f:id:inagex:20140126143003p:plain

右上の+ボタンを押して作成。

f:id:inagex:20140126143034p:plain

App IDはアプリ情報を設定するときなどで表示される名前なのでわかりやすい名前でよいです。

ここではTaskeyにしました。

f:id:inagex:20140126143208p:plain

リリース用なのでExplicit App IDを選び、任意の Bundle IDを入力します。
後ほど出てきますが、小文字と大文字の区別は注意しましょう。

com.****.Taskeyとしたりします。

f:id:inagex:20140126143355p:plain

アプリで使っているサービスにチェックをいれます。

配布用のProvisioning Profile を作成する

f:id:inagex:20140126143459p:plain

右上の+ボタンを押して作成。

f:id:inagex:20140126143513p:plain

DistributionのApp Storeを選択します。

f:id:inagex:20140126143552p:plain

ここではさっき作ったApp IDが出てくると思うので選択します。

f:id:inagex:20140126143631p:plain

ここでもさっき作ったCertificateを選択します。

f:id:inagex:20140126143719p:plain

Provitioning Profileの名前をわかりやすい名前で入力します。

f:id:inagex:20140126143822p:plain

ダウンロードして、そのファイルをクリックして読み込みます。

2.iTunes Connect でアプリの詳細情報

iTunes Connectにいきアプリの詳細情報を記入していきます。

ここではアプリの詳細を入力するのであらかじめ準備しておくほうがスムーズにできるでしょう。

以下のものをまだ決めていなければ用意します。

  • アプリ名

ex:Taskey - 入力が簡単にできる無料広告なしのシンプルなタスク管理アプリ

  • アプリの説明・紹介文(4000字以内)
  • 検索キーワード (100字以内)
  • アプリアイコン

1024 x 1024 pxサイズです。

  • スクリーンショット

3.5インチディスプレイ用(iPhone 3GS、iPhone 4など、iPhone 5より前の機種)640×960ピクセル 1~5枚
4インチディスプレイ用(iPhone 5、iPod touch 第5世代等、縦長の機種)640×1136ピクセル 1~5枚
※iPadの場合は別途必要

  • サポートページのURL


用意ができましたら、アプリの詳細情報を記入していきます。

f:id:inagex:20140126145038p:plain

左上から追加できます。

f:id:inagex:20140126145106p:plain

アプリ特有の番号なのでSKU Numberは、Bundle ID同じでいいでしょう。

Bundle IDは先ほど作成したApp IDから選択します。

リリース日と有料の場合の価格を設定していきます。
Discount for Educational Insitutionsとありますが、有料アプリの場合、教育用に割引するか決めるものです。

f:id:inagex:20140126145327p:plain

アプリのバージョンとコピーライトの記入です。

f:id:inagex:20140126145451p:plain

カテゴリを選択します。
2つしっかり設定しましょう。

英語がわからなければ、こちらを参考に
http://chiyoworks.blogspot.jp/2012/07/ios.html

f:id:inagex:20140126145550p:plain

レーティングです。該当するものにチェックします。

f:id:inagex:20140126163044p:plain

子ども向けのアプリかどうかです。そうであればチェックします。

f:id:inagex:20140126163056p:plain

事前に決めておいた説明文やキーワードやサポートページのURLを記入します。
人気のあるアプリの説明文を複数参考にするといいかと思います。
僕はzaimを参考にしました。

f:id:inagex:20140126163111p:plain

連絡フォームです。当たり障りのない連絡先をいれましょう。

f:id:inagex:20140126163120p:plain

EULA に関する設定です。
といわれてもなにかわからない人もいますので、ソフトウェア使用許諾契約 / エンドユーザ使用許諾契約でだそうです。
EULAとは

f:id:inagex:20140126163130p:plain

事前に用意しておいたスクリーンショットとアイコン等をアップロードしていきます。
Routing App Coverage Fileはナビアプリでない場合は必要ないです。ナビアプリの場合は別途設定が必要です。

f:id:inagex:20140126163153p:plain

右上のReady to Upload Binaryをクリックします。

f:id:inagex:20140126163205p:plain

Export Complianceが表示されます。
アプリ内で SSL 通信を使っている場合はYESと答えます。
ここでは省略します。

f:id:inagex:20140126163223p:plain

Continueをクリックしてアップロード準備完了となります。

f:id:inagex:20140126163250p:plain

Waiting for Uploadとなっているのを確認。

f:id:inagex:20140126163302p:plain

3.アップロード

ではここからはXCodeを操作していきます。

Target の Identityを設定します。
Bundle identifierをApp IDのBundle IDと同じものにします。ここではcom.***.Taskeyというとします。後にはまったのですが大文字と小文字もしっかり統一するように注意します。

f:id:inagex:20140126163314p:plain

Build Settings>Code Signingsを設定していきます。

f:id:inagex:20140126163348p:plain

Code Signings IdentityのReleaseを事前に登録しておいたDistribution(配布用のCertificateに変更します。

f:id:inagex:20140126163401p:plain

Provitioning Profileも同様に変更します。

f:id:inagex:20140126170151p:plain

Product>Scheme>Edit Schemeで設定します。

f:id:inagex:20140126163428p:plain

Build ConfigrationをReleaseに変更し、Archive Nameにアプリ名をいれます。

f:id:inagex:20140126163446p:plain

ここではTaskeyを入力します。

f:id:inagex:20140126163455p:plain

Product>Archiveでアーカイブ開始します。

f:id:inagex:20140126163508p:plain

アーカイブ中です。

f:id:inagex:20140126163524p:plain

アーカイブが終わったら、Organizerが立ち上がります。

f:id:inagex:20140126163543p:plain

Validateそ押して検証します。
常に許可でよいでしょう。

f:id:inagex:20140126163635p:plain

iTunes Connectアカウントを入力します。

f:id:inagex:20140126163749p:plain

あれ...

※はまってしまったこと(成功したならば飛ばしてください)

f:id:inagex:20140126163803p:plain

No identities were availableと書かれています。

このようなエラーが出た原因はおそらくXCodeのBundle Identifierはcom.***.Taskeyと自動的に最後のTaskeyの箇所がアプリ名をTaskeyにしたので大文字になっており、それは自動的に決まってしまい変更ができません。

しかし、Bundle IDをcom.****.taskeyとしてしまい、大文字と小文字の違いにうまく一致していないようでした。

アプリ名を大文字にしている場合は大文字と小文字の区別を注意しましょう。

僕の場合は再びApp IDを作成しました。
App IDは一度作ったら削除ができず、また重複は不可なので結局当初想定していたものと違うものに変更しました。


ここから続きです。

f:id:inagex:20140126163825p:plain

Validateが完了したらほぼ終わりです。
Validateの下のDistributeを選択します。

f:id:inagex:20140126163849p:plain

Distribute用のProvisioning Profileを選択します。

そうするとアップロード中に。

f:id:inagex:20140126163859p:plain

申請完了!

f:id:inagex:20140126163907p:plain


アプリを申請できました。
こちらの手順は以下のサイトをおおいに参考にしました。

最後にTaskeyをよろしくお願いします。


参考

http://qiita.com/koogawa@github/items/5e2ff5a0312cb1f657f8
http://dev.classmethod.jp/smartphone/iphone/ios-app-how-to-release/