2016年9月4日日曜日

ios アプリをAppleの「審査へ提出」まで持っていくまでのまとめ

■目的
アプリを作るのもさることながら、Appleから公開するまでのお作法も大変だったのでまとめたいと思います。
正直自分でもよくわかっていないところや、順序など若干忘れてしまって怪しいところがありますが、ご参考までに見て頂ければと思います。

■参考にさせて頂いたサイト
http://examination-03.hatenablog.com/

■内容
前回の続きですが、Appleに12000円払った後、特にメール等は来ませんでした。
Developer CenterのAccount→membersipを確認すると


TeamIDや有効期限などが記載されていたので大丈夫なようです。
「Certificates,Identifiers&Profiles」でios Certificateをcreateしましたが、
これはやった方が良いのか今ひとつよくわかりませんでした。

ここからがApple審査までの流れを記載しますが、

■前提
・元々持ってたアカウントでxcode開発していた。
・develop用に別アカウントを作成して、こちらのアカウントで作業をしていく
・今回のアプリは無料のアプリ
・広告等も一切ない、どこかと通信することもないアプリをリリースします。

①xcodeにDeveloperアカウントを登録する
②Dev CenterにAppIDの登録 
③Deviceの登録
④itune connectの登録
 の順で進んでいきたいと思います。

①xcodeを立ち上げてxcodeメニューの「Preference」に
 ・Apple IDsという欄があるので、一つ前の記事で作成したDeveloper登録したアカウントを登録します。
  少し時間を置いて確認するとteamとrole欄が正常に反映されていると思います。

②Dev CenterにAppIDの登録 
Dev Centerにログインし、メニューから「Certificates,Identifiers&Profiles」を選択
Identifiers にて App IDs 右上の「+」
Registering an App ID
の項目を埋めていきます。

App ID Description 
name:アプリ名

App ID Prefix
これがあなたのTeam ID

App ID Suffix
Explicit App ID
Bundle ID: ここ※XcodeのInfo.Plistの「Bundle Identifier」の値と同じ文字列を入力

なんですが、通常(xxx.アプリ名)になっていると思います。
後述しますがアプリをxcodeからituneにあげるときにここが合ってないとエラーになります。
ですが私は今までdeveloperではないアカウントでアプリ開発していたので
XcodeのBundle Identifierが 例) imamade.apptest という名前でした。
developerのアカウントで進めるので 例) developer.apptest になります。
結論どうしたかというと、上記のBundle IDを
Bundle ID:apptest
xcode側のidentifierを apptest だけに変更して登録しました。
#今の段階で何言っているかわからないと思いますが、後で読み返してみてください。

□Xcodeのidentifierはここになります。ここを編集しました。
 またteamのところをこれまで使ってたアカウントからDeveloper用のアカウントに変更して作業していきます。







これで②は終了。

次に③Deviceの登録
・xcodeの①で作ったPrefarenceでdeveloperアカウントになっていることを確認
・先ほどのxcodeのidentifierでteamのところをDeveloper用のアカウントに変更
・MACにiphoneを繋いでxcodeから実機転送してみてください。
その後少し時間を置いてDev CenterのDevice欄を確認すると自動的にDeviceが登録されていると思います。

*Device登録が成功すると、App IDs等に「XC Wildcards」なるものが出現するようになった。
http://stackoverflow.com/questions/37621483/why-does-xcode-create-non-wildcard-app-ids-called-xc-wildcard
 どうやらDebag用の物なので放置することにしよう。

ここまできたら
後はitune connectとの戦いになります。

④itune connect
 
https://itunesconnect.apple.com/ にアクセス。
 Developer用のアカウントでログインする
 
  マイ APP をクリック +でアプリを追加
 
  左側のメニューを含め、ここの項目を全て埋めて審査まで持っていければゴール
 ざっくり入力項目について記載していく。
 □APP情報
  ・アプリ名の入力
  ・カテゴリなどは自身の作成したアプリのカテゴリを記載
  ・バンドルID:は注意、xcodeのidentifierと同じにする必要がある 例) apptest
  ・SKU:なんでも良いらしい。私は 例)apptest.developer とした
  ・プライバシーポリシーは無し

 □価格および配信状況
  ・私は無料アプリなので無料を選択
  ・割引無しで配信可能を選択

 □ios APP 1.0
  ・App プレビューとスクリーンショット 
   iphone用のプレビュー画像は 解像度:72 1242×2208 の縦横比で登録できました。
   ipad用のプレビュー画像は 解像度:72 2048×2732 の縦横比で登録できました。
  ・概要 :アプリの概要
  ・キーワードをカンマ区切りで何個か追加
  ・サポートURL 必須だった 自身のホームページを指定
  ・マーケティングURL 空欄

  APP 一般情報
  ・アプリのアイコン 1024×1024 のサイズで登録
  ・Versionは初回なので1.0
  ・年齢制限指定:いくつか質問されるのでそれに答えると自動的に決まる
  ・copyrightを記載
  ・後は住所・電話番号などを記載 電話番号は日本の場合+81を先頭につけます。
  ・デモアカウント:アプリでアカウントを使う場合のアカウントのようです。
  ・リリースのタイミング:自動的にリリースにしました。

 ★ビルド
  ビルド項目については、xcodeからの操作になります。
  http://examination-03.hatenablog.com/entry/2014/08/08/000000
  を参考にしながらxcodeにてアーカイブのアップロードを行います。

MacPCのxcodeメニューから以下のように遷移
・Product → Scheme → Edit Scheme を選択
 
・Schemeの設定画面が表示されるので、
 Build Configration を Release に変更  ←アップロード終わったら後で元のdebugに戻しておきました。

・xcode上部にてDeviceが「iOS Device」に設定

・メニューから以下のように遷移
 product → Archive を選択
 
・ビルドが完了すると Organizer が自動で開き Archive したアプリが表示される
 Validate をクリック

・Provisioning Profile を選択
 Validate ボタンをクリック

※ここで失敗する場合、iTunes Connect内で入力したアプリのバージョン番号と、Xcode上のバージョンが異なる可能性があります。
もう一つのパターンがidentifierの不一致になります。
ここで上を思い出してください。 私はこれでハマりました。
xcodeのidentifierとDev CenterのAPP IDsで登録したidentifierを揃えてください。

・ここまできたらitune Appにアップロードボタンを押してアプリをアップロードしましょう。
成功すると以下のようになります。


この後数分間待ちましょう。
数分たったらitune connectに再度アクセスするとアクティビティメニュー欄にuploadしたアプリが表示されていると思います。

ios APP 1.0 項目のビルド欄に行きましょう。
+が追加されていると思いますのでそこからアプリを選びましょう。

これで大体一通りitune connect上の入力項目が埋まったのではないかなと思います。
それでは保存して「審査へ提出」を行いましょう。

■終わり
ちょっと誤解がありそうな表現ですが、自分で一回やってみて思ったのは

itune connect ← アプリ提出に必要な情報を纏める。
   ⇅
 Dev center  ←アプリ、端末、開発ライセンスを管理している
   ⇅
     xcode   ←どのアカウントで開発するのか

みたいな理解で覚えておこうと思いました。

私の体験が誰かの生産性向上に役立っていただけることを祈って





0 件のコメント:

コメントを投稿