JavaScriptプログラマがSwift iOSアプリを2週間で作って公開してみた〜その24 Submission〜


JavaScriptプログラマー(JSer)がSwiftデビューして、ただ作りたいアプリを作ってみたシリーズ第24回目です。

前回はxcodeでのdebugについてでした。今回はついに作ったアプリをApp StoreにSubmissionする回です。つまり、この連載の最終回です!w

iOSアプリを作ったらAppStoreに申請して、Appleによる審査に通ったら晴れて公開されます。以下TwitStockerを申請した時のざっくりと手順とポイントを解説します。

リリース作業

事前に必要な作業

– Apple Developer登録をする
– 実機で動作確認をする
なんとなくここらへんに関しては15回目の記事でめちゃくちゃ適当に書いてます。
開発用のキーの設定などが完了して実機で動作確認ができたら、同じ要領で配布用(distribution用)の設定を行います。

きちんと設定されていれば、xcode上のアプリのGeneralのIdentityの設定の部分にTeamに該当のアカウントが入ると思います。

xcode

他にアプリのversion番号やビルド番号を記入してアプリをアーカイブする準備はOKです。

次はアプリの申請を行うためのAppleのサイトに登録します。

iTunes connectに必要情報を記入

iTunes Connect
http://itunesconnect.apple.com

スクリーンショット 2015-03-23 22.03.43

ここで、注意点。itunes connectはsafariで開きましょう。ChromeやFFなど他のブラウザだとうまく動かなかったです。

マイAppからアプリを追加します。追加するとこんな感じで表示されます。

スクリーンショット 2015-03-23 22.07.18

ここで、リリースされた時にApp Storeに掲載されるアプリ名やアプリの概要を記入します。

あとは、スクリーンショットの添付<-これが結構しんどい iPhone4S, iPhone5, iPhone6, iPhone6+ それぞれの画面サイズにきっちりと合わせた画像を登録する必要があります。 ドラッグ&ドロップで画像を登録していきます。 スクリーンショット 2015-03-25 0.43.49

自分のは全てスクリーンキャプチャでiOS Simulatorを起動して⌘Sでキャプチャとってそのまま添付したので、さほど時間は取られませんでしたが、このAppStore用に別途スクリーンを作る必要がある場合は、結構手間だと思います。

ちなみに最近ニュースで流れてきて知ったツール紹介。使ったことないですが、なんか使えそうな気がしました。

App Store Screenshot Builder
https://launchkit.io/screenshots/

国際化対応している場合は、各言語ごとに説明文やスクリーンを登録する必要があります。

他の細かい項目にどのようなものがあるかに関しては、ちょうど良さそうな記事があったのでご参照ください。

App Store申請手順(2014年冬)
http://qiita.com/itosho/items/1b36e1b62ba407565787

xcodeでビルド

アプリをiTunes Connectから申請時にバイナリファイルとして添付する必要があります。xcodeから直接iTunes Connectに送信します。

ここで注意点!xcodeのbetaバージョンではsubmitできません。

嘆いていたら、友人からメッセージが。

xcode GA版をおとなしく入れ直してビルドしました。

以下、ざっくりビルドする手順。

  1. xcodeのProduct -> Destinationで実機を選択してビルド&Run
  2. Product -> Archive を押す。Organizerが起動します(Window->Organizerでも起動できます)
    スクリーンショット 2015-03-25 1.03.32
  3. OrgnizerのValidateボタンを押してバイナリが申請可能な状態かどうかを判定してくれます(Fabricの1.0を使ってた時にはvalidationの結果にfabricのフレームワークの中の特定の部分でよくわからないwarningメッセージがでました。errorではなくwarningなので無視しました。)
  4. Validationに通ったら、Submitボタンを押しましょう

するとiTunes Connectのビルドの欄をクリックすると提出されたビルドが選択できるようになっています。
なお、同じビルド番号で再送信することはできないようです。もう一度アーカイブをやり直す場合はビルド番号を増やしましょう。

申請

iTunes Connect上で説明文やスクリーンショット、ビルドなどの必要情報が揃ったらようやく申請ボタンが押せるようになります。

申請ボタンを押すと、幾つかの質問に回答しなくてはいけません。

  • 輸出コンプライアンス: 暗号化を使うかどうか
  • コンテンツ配信権: サードパーティ製のバイナリを含むかどうか
  • IDFA(Advertising Identifier):広告用の識別子のようなものを使っていますか?という質問。使っていないならNO。使っているならYES。使っていてNoを選択していると永久Rejectされるらしい。

輸出 -> No, コンテンツ配信権 -> Yes, IDFA -> Yesと記入。
自分はこの時将来のアップデートするときに広告を出すかもなぁ、っと軽い気持ちでIDFAをYESにして出していました。(それがのちのRejectになります。。)

あと、公開日を待ちながら、わくわくしながら待ちましょう。

AppleによるReject

公開を待っていたら、2週間くらいしてからAppleからRejectされました。

結果的に言うと、TwitStockerは2回のrejectをくらいました。その時の嘆き。

上記の日程をみてもらえばわかりますが、初めのrejectが提出した1/16の10日後の1/26!法人ではなく個人で作ったアプリのせいなのかめちゃくちゃ遅い。

1回目のreject

2点指摘されました。

  • iPhone4sサイズのスクリーンショットでラベルと画像が重なってる部分がある
  • 広告を出していないのに、IDFAをYesとするな

スクリーンショットのやつは確かに手抜きで重なったまま提出していました。意外と細かく見てるなーっと思いつつ、そちらはスクリーンサイズの大きさに応じて表示位置を変えるように修正。

IDFAの方は、知らなかったです。広告を将来のせようとしても今のビルドに含まれていなければNoにしなさい、とのこと。将来広告を設置する時はアプリの更新の時の申請でYESにしてください、とのことでした。

さぁ、これで大丈夫だろう、っと思って、作り直したビルドを再送信して、IDFAをNOにして送信!

2回目のreject

1/26に再申請して、2/3にまたrejectされました。
今度の理由は、「自分のTwitterアカウントでこのアプリを試したら何も表示されないじゃないか」という旨で、デモアカウントを載っけてくれと。。
おいおい、最初のレビューでそれ言ってくれよ。。っと思いつつ、twitterのdemoアカウント作って、アプリの申請情報の中にある「App Review に関する情報」というセクションのところにあるでもアカウントの情報に追記。

スクリーンショット 2015-03-25 10.11.53

今回のRejectはmetadata rejectという形式で、必要情報がないだけなので、バイナリの再送信は必要無い、というタイプのものでした。
で、再申請。

リリース

その後、ようやくリリースされました!長かった。
アプリを開発した期間が2週間程度だったのに対して、申請してから公開されるまで(1/16-2/10)がそれ以上かかりましたw

AppStoreに掲載されているのを確認。

英語版
https://itunes.apple.com/en/app/twitstocker/id958798898?l=ja&ls=1&mt=8

日本語版
https://itunes.apple.com/jp/app/twitstocker/id958798898?l=ja&ls=1&mt=8

リリースされたらやること

SNSで拡散!
あとは、AppBankなどのアプリをレビューしてくれるサイトに依頼する<- いま お金のある人はTwitterやFBに広告掲載を依頼すると良いじゃないでしょうか。 そして、ダウンロード数などをiTunes Connect上で確認。 一応iTunes Connectのアプリが出ていて、それで見れます。 iTunes Connectアプリ https://itunes.apple.com/jp/app/itunes-connect/id376771144?mt=8

こんな感じで各国ごとにダウンロード推移などが見れます。

リリース後のバージョンアップ

バージョンアップは初めの申請と同じ要領で進めればOKです。iTunes Connectのアプリのページに新規バージョンを追加するボタンがあるので、それに沿ってやれば良いです。

TwitStockerも最近更新しました。MoPubによる広告の設置に関しては番外編をご参照ください。

S__74801154

更新後はこんな感じでApp Storeの更新の部分に表示されます。

おわりに

途中結構雑な回もかなりありますが、とりあえず書き切りました。しかし、長かったw 最初の記事から2ヶ月以上かかりましたね。

さっそく広告設置の番外編も書いていますが、そんな感じで更新状況によって追記していくと思います。記事の内容でよくわかんない点などがあれば、気軽に@tejitakにお問い合わせください。

TwitStockerネタはとりあえず終わりです。なかなか学びもあったし面白かった。次はもっとレベルを上げたものを作りたいっすね。

朝活もやっているのでもし興味のある方は参加してください。

次回からは別のネタとなりますが、随時技術ネタを綴っていく予定です。今後とも宜しくお願いします:)