2025-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」と設定すれば、「上記のアルゴリズムのどれでもない」と答えたことになる。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
マイクで喋った日本語をテキスト変換してOBS Studioにリアルタイムで表示する【1】
Raspberry PI 2 bookworm 32bitでCanon IP4300プリンタ印刷する
【VMware】Apple silicon M2 MacでWindows11を無償で動かす
A4用紙タテ2ページ分をA3用紙ヨコ1ページに印刷するには
【Android】apkのインストールができたのにアプリ一覧に出ない場合
【Node.js】chrono-nodeを使用して自然言語を日付に変換する
CUDA13環境下でGPU使用版のllama.cppを導入しC++ライブラリを使う
CUDA13環境下でGPU使用版のllama-cpp-pythonを導入する
CUDA13環境下でGPU使用版のPyTorchを導入する
進研ゼミチャレンジタッチをAndroid端末化する
CUDA13環境下でGPU使用版のPyTorchを導入する
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【Apache】サーバーに同時接続可能なクライアント数を調整する
LinuxからWindowsの共有フォルダをマウントする
VirtualBoxの仮想マシンをWindows起動時に自動起動し終了時に自動サスペンドする
Debian 12で固定IPアドレスを使う設定をする
Windows11でMacのキーボードを使うには
size_tとssize_tを使い分けてSegmentation Faultを予防する