iosアプリリリースするために~MacPC:AppStoreへのアップロード~

ゲーム制作
Unityバージョン:2020.3.35f1
MacOSバージョン:Big Sur 11.6.7

はじめに

このページは「WindowsのUnityで作ったandroidアプリをMacでios向けにリリースするまで」
の「MacPC:AppStoreへのアップロード」の手順メモになります。

 

Apple Developer Programの識別子(Identifiers)の確認

Apple Developer ProgramのIdentifiersにバンドル識別子が存在するか確認し、なければ追加する。
追加するバンドル識別子はXcodeのターゲットにあるBundle Identifierと一致してないといけません。
何らかの操作で自動的に追加されると思うのですが、何をして追加されたか忘れました…笑Apple Developerにログインする。Certificates, Identifiers & Profilesに遷移する。

Identifiersに遷移する。
プラスボタンを押して画面遷移する。

App IDsを選択し「Continue」

Appを選択し「Continue」

Description(Bundle IDの説明)に任意の英字を入力する。
ここでは例として「TestApp」を入力しています。
※DescriptionはIdentifiersの一覧の名前で表示されます。

Bundle IDにはXcodeのターゲットにある「Bundle Identifier」と同じ値を入力してください。
ここでは例として「com.TKSG.TestProject」を入力しています。

入力が完了したら「Continue」を押す。

「Register」を押すと登録します。

一覧に追加されました。

 

app store connectにアプリを登録する。

Apple Developerにログインする。App Store Connectを選択して移動

「Go to App Store Connect」を押して移動

 

My Appを押して移動

「+」ボタンを押して「新規App」を選択

各項目を入力して「作成」を選択

名前;AppStoreで表示される名前を入力
プライマリ言語:メインとなる言語を選択します。
バンドルID:Identifiersで登録されているものが選択できます
SKU(Stock Keeping Unit – 在庫管理単位):わかりやすい名前を任意で付けます

AppStoreの設定ページが表示されれば完了

 

Appの日本語設定

App Storeで表示される言語設定を設定します。Info.plistを開き「Localization native development region」のセレクトボックスを「Japanese」に設定する。

Infomation Property Listの「+」ボタンを押して「Localization」を追加する。

追加した「Localization」の「item 0」のセレクトボックスを「Japanese」に設定する。

以上で日本語設定が完了です。

 

アーカイブ

Xcodeの「Product」にある「Archive」を選択
ビルド完了後にArchiveウィンドウが表示されます。

 

アップロード

Archiveウィンドウの「Validate App」を押す

私の場合、値を変更せずNextで進み、Validateを行いました。

Validateが完了したらアップロードします。
Distribute Appを押します。

特に値を変更せずにNextで進み、Uploadを行います。

アップロード完了後、10~15分ほどで完了通知がAppアカウントにメールで届きます。
完了通知後にAppStoreConnectにて公開予定アプリの審査提出設定ページにあるビルドにアップロードしたバージョンのビルドが選択できるようになります。

 

Validate時にアカウントの接続エラーが出る場合

アーカイブのValidate App実行時にアカウント接続のエラーが出ることがあります。

エラー内容:
No accounts with App Store Connect have been found for the team "アカウント名" .App Store Connect access is required for App Store Connect distribution.
対処方法:
Xcode側でアカウントの接続が切れているのでXCodeを再起動したところ治りました。
それでもダメならMacPCを再起動すると良いそうです。

 

アップロード後に「Missing Push Notification Entitlement 」のメールが来た場合

作成したアプリのアップロードの完了通知と同時にAppStoreConnectから「ITMS-90078 Missing Push Notification Entitlement」の内容のメールが来ていました。
Apple Developerアカウントのバンドル識別子が自動的に登録されている場合にCapabilities(機能)が設定されているためそれをXCode側でも有効にする必要があります。
今回は「Push Notification」ですが他の場合も同様な方法で有効化できると思います。
・メールの内容(一部抜粋)
ITMS-90078: Missing Push Notification Entitlement - Your app appears to register with the Apple Push Notification service, but the app signature's entitlements do not include the 'aps-environment' entitlement. 
If your app uses the Apple Push Notification service, make sure your App ID is enabled for Push Notification in the Provisioning Portal, and resubmit after signing your app with a Distribution provisioning profile that includes the 'aps-environment' entitlement.
Xcode does not automatically copy the aps-environment entitlement from provisioning profiles at build time.
This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor's Capabilities pane, or manually add the entitlement to your entitlements file.
・メール内容翻訳
ITMS-90078:Missing Push Notification Entitlement - あなたのアプリは Apple Push Notification サービスに登録されているように見えますが、アプリ署名の権限には 'aps-environment' 権限が含まれていません。
アプリが Apple Push Notification サービスを使用する場合、App ID が Provisioning Portal で Push Notification に対して有効になっていることを確認し、「aps-environment」資格を含む Distribution provisioning profile でアプリに署名した後に再送信してください。
Xcodeは、ビルド時にプロビジョニングプロファイルからaps-environment権限を自動的にコピーしません。
この動作は意図的なものです。このエンタイトルメントを使用するには、プロジェクトエディターの Capabilities ペインで Push Notification を有効にするか、エンタイトルメントファイルに手動でエンタイトルメントを追加してください。

Xcodeで有効化

ターゲットの「Signing & Capabilities」を選択し「+Capabilities」を押下する。

ウィンドウからPush Notificationをダブルクリックで選択

「Signing & Capabilities」に追加される。

あとはBuildバージョンを変更して再度「Validate」と「Distribute App」を実行して再度アップロードしてください。
メールが来なくなると思います。

コメント

タイトルとURLをコピーしました