アプリケーション開発ポータルサイト
ServerNote.NET
Amazon.co.jpでPC関連商品タイムセール開催中!
カテゴリー【iPhone/iPadMacOS
Apple Developer Program有料メンバーシップでアプリをApp Storeで配信するまで【1】
POSTED BY
2023-11-30
Apple Developer Program有料メンバーシップでテストアプリをDeployGateで配信するまで【4】

続きです。上記までのテストアプリはDeployGateで気軽に試せて良いのですが、端末を逐一登録しなければならないなど不便で、かつ、このままではストアからアプリを配信はできません。

なのでここからは、App Store Connectサイトに接続し、本番想定のアプリをアップロードして、TestFlightでテストして、問題なけばAppleに審査に出しアプリを公開するまでやってみます。

App Store用のProvisioning Profileの作成

証明書はこちら↓で作成した、「Apple Distribution」証明書であれば、そのまま使えます。

Apple Developer Program有料メンバーシップでテストアプリをDeployGateで配信するまで【2】

しかしProfileは作成したのはAd-Hoc用でしたので、App Store用のものを作成します。

https://developer.apple.com/account/resources/profiles/list

「+」→Distribition「App Store」→Continue

App IDはこれまでテストしたアプリ一覧が出ていますので対象のものを選択。

証明書は、Ad-Hocのとき作成したものでよく、Apple Distribution証明書を選択。

Entitlements: DefaultのままContinue。最後に名前をつけて完了。TestApp_AppStoreとか。

これをDownloadしておいて、あとでXCodeでImport Profile...する。

App Store Connectにアクセスし新規アプリを作成

https://appstoreconnect.apple.com/

有料メンバーシップのApple IDとパスワードでログインします。

アプリ→「+」→「新規アプリ」をクリック

プラットフォーム:iOS
名前:アプリの名前
プライマリ言語:日本語
バンドルID:Apple Developer Programに作成済みのアプリBundle Identifier(例:jp.co.testcorp.myapp)
SKU:任意の識別子。自分はBundle Identifierを大文字でつなげたものにした(JpCoTestCorpMyApp)など
ユーザアクセス:アクセス制限あり(ユーザを個別に設定)

で、「作成」。これで、「TestFlight」にアプリをアップロードしてテストできるようになる。デバイスの制限がなく、「ユーザとアクセス」で設定したユーザーに自由に配布できる。

XcodeでリリースアプリをアーカイブしTestFlightへアップロード

Product→Scheme→Edit Scheme...で、Archiveの対象が「Release」となっていることを確認し、

Product→Archveを実行する。完了したらArchivesウインドウが出るので「Distribute App」する。

「Custom」を選んでNext。

App Store Connect」を選択してNext。

すでにXcodeに有償のApple DeveloperアカウントのApple IDでログインしているなら、このままReleaseアプリを「Upload」できるので、選択してNext。

Upload your apps symbolsは必ずチェックのまま。

Manage version and build numberチェックは外す。勝手にバージョンを書き換えられてしまうと、Firebaseなど依存ライブラリのバージョンもおかしくなりかねない。

testFlight internal testing onlyは、チェックを入れるとこのアップするアーカイブはテスト専用にできる。誤ってApp Storeに出したくないテスト用のものをアップする場合はチェックすると安全。逆に、App Storeにリリースする予定のものでこれにチェックを入れてしまうと選択できなくなるので注意。

Nextして、Manually manage signingを選んでNext。

Teamが有償デベロッパアカウントのTeamで、Distribution certificateがDeploygateのときでも使った有効なApple Distribution証明書であることを確認する。

Select Profileのプルダウンで「Import Profile...」を選択し、さきほど作成&ダウンロードした、App Store用のプロファイルをダブルクリックして確定する。(TestApp_AppStore.mobileprovisionなどというファイル)

Nextして最終確認画面が出るので、問題なければ「Upload」する。

しばらく時間を置いてからApp Store Connectでさきほど作成した新規アプリの「TestFlight」を開いてみると、さきほどのビルドがアップロードされているはずだ。

しかしステータスは輸出コンプライアンスがありませんになっているので、クリックして、アプリの暗号化に対する質問に答える必要がある。当方のアプリはすべて「上記のアルゴリズムのどれでもない」ので、それを選択した。

TestFlightでアプリを配布しテストする

質問に答えてアプリが配布できる状態になったので、左タブの「内部テスト」を+して、新規内部グループを適当なグループ名で「自動配信を有効」にして作成する。

そしてこのグループにさきほどアップしたアーカイブビルドを+して登録する。

さらにまだ「テスター」が0人のはずなので、テスター「+」して、ユーザーの一覧からテスト配信したい人を選んで「招待」すると、その人のメールアドレス=Apple IDに招待メールが行き、メール内のリンクをクリックしてTestFlightアプリをインストールして招待コードを入力すればこのビルドがデバイスID登録無しでテストできる。

※付録:輸出コンプライアンスの質問の答えをInfo.plistに埋めてスキップ

「上記のアルゴリズムのどれでもない」のであれば、この答えをXcodeでInfo.plistに設定しておいて、サイトの質問をスキップできる。

ファイルツリー→プロジェクト青アイコン→TARGETS→Infoを開いて、適当な項目のところで「+」して、新しい項目「App Uses Non-Exempt Encryption」を追加、Booleanな値を「NO」と設定すれば、「上記のアルゴリズムのどれでもない」と答えたことになる。

※本記事は当サイト管理人の個人的な備忘録です。本記事の参照又は付随ソースコード利用後にいかなる損害が発生しても当サイト及び管理人は一切責任を負いません。
※本記事内容の無断転載を禁じます。
【WEBMASTER/管理人】
自営業プログラマーです。お仕事ください!
ご連絡は以下アドレスまでお願いします★

☆ServerNote.NETショッピング↓
ShoppingNote / Amazon.co.jp
☆お仲間ブログ↓
一人社長の不動産業務日誌
【キーワード検索】