iOSアプリをApple Storeにリリースするまで
簡単な流れのメモ。
目次
Apple Developer 登録
Apple IDを開発者アカウントにする。年間使用料1万何千円か。
iOS Certificate の作成
iOS Certificate は配信元PCの証明書。
Apple Developer > Certificates, Identifiers & Profiles > Certificates の「+」をクリックして製品(配布)用の証明書を作成する。
有効期限があるため注意する。
使用しているMacを変更する場合、引き継ぎが必要になる。
iOS App IDs の登録
iOS App IDs はアプリの使用するサービスの確認、Bundle IDやPrefix(開発者ID)を識別する。アプリごとかつ配布と開発用で複数作れる。
Apple Developer > Certificates, Identifiers & Profiles > Identifiers の「+」をクリックして新規登録画面を開く。
・Register a New Identifier App IDs選択
・Platform
iOS, tvOS, watchOS選択。
・Description
アプリの名称を記入、UnityのPlayerSettingsで設定したProduct Nameと同じにすると良い。ただしこれはリリース時の名前ではなくApple Developerでの表示用。
・Bundle ID
Explicit を選択しUnityのPlayer Settingsで設定したBundle Identifierをコピーペーストする。
・Capabilities
使用する機能を選択する。
https://ameblo.jp/10soba/entry-12357855507.html
ここのサイト様を参考にしました。以下足りない部分の追記。
Access WiFi Information | 現在繋がっているWiFiアクセスポイントの情報を取得する機能を使う場合に必要? |
Apple Pay Payment Processing | 上記の記事内とは少し名称が変わっているがApple Payと同じ? |
AutoFill Credential Provider | AutoFill Credential Provider というパスワードの自動入力機能を使用する場合に必要? |
ClassKit | クラスルーム App にてこのアプリのディープリンクにナビゲートできる機能を使う場合に必要? |
Fonts | OSのフォントを変えるような機能を使う場合に必要? |
Low Latency HLS | 低遅延HTTP Live Streamingの機能(つまりはライブ配信機能)を使う場合に必要? |
Mac | MacOSでもアプリを使えるようにする場合に必要? |
Sign In with Apple | Sign in with Apple機能を使う場合に必要? |
System Extension | システム的なUIのデザインを変えたりする場合に必要?
例えば通知にボタンやスイッチを加える場合など。 |
User Management | ユーザー情報を管理する機能を使う場合に必要? |
Provisioning Profile の作成
Provisioning Profile は署名された電子証明書を含み iOS デバイスやアプリを識別するためのファイル。
Apple Developer > Certificates, Identifiers & Profiles > Profiles の「+」をクリックして新規登録画面に入る。
・Distribution
App Store を選択。(Development は開発用)
・Select an App ID
今回のアプリを選択
・Select certificates
Certificates を選択
・profile の名前を決めてダウンロードする
・ダウンロードしたmobileprovisionファイルをダブルクリックする(自動でキーチェーンに登録)
Device の登録
テスト端末を登録する。
(面倒だったのでサボった。シミュレータで動いたから多分大丈夫…)
アプリ情報を登録
App Store Connect >マイ App >+ボタン で新規アプリ追加する。
・名前は App Store に表示される App の名称(後で変更可能)
・SKU は App Store では表示されない、App の固有ID、いわゆる在庫管理番号らしい
・App 情報の記入
・価格および配信状況の設定
・提出準備の記入
プライバシーポリシーは、適当にこんな感じで審査は通った。
アプリをXcodeでアップロード
・Unityから書き出したxcworkspaceファイル(なければxcodeprojファイル)をXcodeで開く
・TARGETS の Unity-iPhone > Signing & Capabilities > Automatically manage signingのチェックを外して、自分でProvisioning Profile設定
・TARGETS の Unity-iPhone Tests > Team設定
・TARGETS の Unity-iPhone > CapabilityでiOS App IDs の登録でおこなったものと同じように設定
・Product > Destination > Generic iOS Device を選択
・Product > Archive で Validate App の後 Distribute App を行う
・Upload 完了(30分ほど)メールが来たら App Store Connect の提出準備項目にある” Appを送信する前にビルドを選択してください。”をクリックして Upload したビルドファイルを追加
申請却下理由
・サブタイトルにキーワードを詰め込みすぎ
・年齢レーティングの設定ミス
・Google や Android といった無関係のサードパーティプラットフォーム情報や単語をアプリ内に含めてはいけない(利用規約に Google と書いてあったのがダメだった)
その他、参考サイト様
https://qiita.com/nirasan/items/28e0947002fc3e1b7a65
https://i-app-tec.com/ios/app-release.html
http://examination-03.hatenablog.com/
https://qiita.com/lazyppp/items/0a00d5baf0681e7ed638