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」と設定すれば、「上記のアルゴリズムのどれでもない」と答えたことになる。
※本記事内容の無断転載を禁じます。
ご連絡は以下アドレスまでお願いします★
Windowsのデスクトップ画面をそのまま配信するための下準備
WindowsでGPUの状態を確認するには(ASUS系監視ソフトの自動起動を停止する)
CORESERVER v1プランからさくらインターネットスタンダートプランへ引っ越しメモ
さくらインターネットでPython MecabをCGIから使う
さくらインターネットのPHPでAnalytics-G4 APIを使う
インクルードパスの調べ方
【Git】特定ファイルを除外する.gitignore
【Ubuntu/Debian】NVIDIA関係のドライバを自動アップデートさせない
【Python】Spacyを使用して文章から出発地と目的地を抜き出す
Windows版Google Driveが使用中と言われアンインストールできない場合
進研ゼミチャレンジタッチをAndroid端末化する
【Apache】サーバーに同時接続可能なクライアント数を調整する
VirtualBoxの仮想マシンをWindows起動時に自動起動し終了時に自動サスペンドする
Windows11+WSL2でUbuntuを使う【2】ブリッジ接続+固定IPの設定
【C/C++】小数点以下の切り捨て・切り上げ・四捨五入
Googleファミリーリンクで子供の端末の現在地がエラーで取得できない場合
【Linux】iconv/libiconvをソースコードからインストール
Ubuntu Server 21.10でイーサリアムブロックチェーン【その5】