【ReactNative】iOSアプリのリリースフロー

前提・背景

この記事は、「使用中のmacで1度以上iOSアプリをリリースしたことがある」前提です。 自分がその状態のため、思い出しながら備忘録として書いています。 リリース経験がない人は、この記事最下部におすすめ記事を書いているので、それがすごく参考になると思います。 この記事の対象読者にとっては、「この部分は1回だけで良いんだ」「この作業は毎回必要なんだ」という風に理解が進む狙いなので、お役に立てると思います。

そして、

使用中のmacで1度以上iOSアプリをリリースしたことがある というのは具体的に以下の3つの前提を指しています。

  • Appleの開発者登録(Apple Developer Program)が済んでいる前提です。 登録 - サポート - Apple Developer

  • iOS Certificateが作成されている前提です。 iOS CertificateはXcode上でアプリを実機用にビルドするのに必要なもの。逆に言えば、一度作成しているとそれ以降は必要ない。 以下の記事がすごく詳しい(少し古いが2018-12-04現在問題ない)のでおすすめです。 i-app-tec.com

  • Provisioning Profile Provisioning ProfileもXcode上でアプリを実機用にビルドするのに必要なもののようです。 作成手順に関してはやはりこちらの記事が詳しいです。 iOSアプリ Provisioning Profile を作ってみる

リリースの流れ

1. App IDを作成
2. AppStoreConnect上でアプリを作成
3. XcodeでArchive

以上になります。下記に1つ1つについて詳しく書きます。

1. App IDを作成

Sign In - Apple へ飛びます。画像のようにApp IDを新規作成します。f:id:yooska14:20181204163459p:plain

  • App ID Description(IDの説明)
  • Explicit App ID
  • App Services を入力します。Explicit App IDはつまりBundle IDです。(Xcodeで設定するやつ・アプリ固有のID) 基本的にはリバースドメイン(アプリ名を逆にしたやつ)が推奨されています。 例: news.oned.jp => jp.oned.news

App Servicesに関しては、使用している機能だけにcheckが基本です。checkしていない機能を使っていたら審査時にリジェクトされることは当たり前ですが、逆に使ってない機能にcheck入れすぎてると怒られるらしいです。(経験なし) が、実際、PushNotificationsとか「後々使うよなー」って機能は入れちゃってます。怒られた試しはありません。「とりあえず全部チェック入れとく」とか適当なことせずにいくつかだけチェック入れるなら良いんだと思います。(Appleも審査大変やろ)

以上3つを全て入力し、Continue => Submitすればdoneです。

2. AppStoreConnect上でアプリを作成

https://appstoreconnect.apple.com/ へアクセスし、「新規 App」を作成します。 f:id:yooska14:20181204165813p:plain

  • プラットフォーム(大体iOSでしょう)
  • 名前(アプリ名)
  • プライマリ言語(大体日本語でしょう)
  • バンドルID(「1. App IDを作成」を経ていたら選択肢として出るはずです)
  • SKU(Appleが内部で使うIDらしい。僕はbundleIDと一緒にしています。なんでも良さそう)
  • ユーザアクセス(「なし」で良いでしょう)

を入力します。 これで、Xcode上でArchiveができるようになります。

3. XcodeでArchive

f:id:yooska14:20181204171300p:plain 以上を入力して、メニューバーからProduct => Archiveすればアップロード完了です。

参考にした・関連おすすめ記事

i-app-tec.com qiita.com