メモ > 技術 > IDE: Xcode > TestFlight
TestFlight
TestFlightで内部テスターへiOSアプリを配信してみた | DevelopersIO
https://dev.classmethod.jp/articles/testfligh/
【iOS】 TestFlightにアプリをリリースするやり方 Flutter
https://zenn.dev/lisras/articles/14b90852fe5525
■アプリをアップロード
通常どおりアプリの改修を行う
通常どおりアプリをアップロードする
対象アプリの「TestFlight」画面に、アップロードしたビルドが表示されていることを確認する
「コンプライアンスがありません」と表示されていたら、隣にある「管理」をクリック
今回は通信を行うアプリではないので、「上記のアルゴリズムのどれでもない」を選択して「保存」をクリックした
これで「コンプライアンスがありません」の表示が「提出準備完了 期限切れまで91日」に変わった
■内部テスト(ユーザの追加)
App Store Connectの上部メニューから「ユーザとアクセス」を開く
「+」からユーザを追加する
姓: 山田
名: 太郎
メールアドレス: taro@example.com
役割: Developer
「その他のリソース」「App」には何も入力しないでおく
「招待」をクリック
招待したメールアドレスに「You've been invited to App Store Connect.」というメールが届く
本文の案内に従って招待を受け入れる
これでユーザを追加できた。引き続き、内部テストに追加する
■内部テスト
内部テスターを追加する
サイドバーの「内部テスト」の隣にある「+」をクリック
今回はグループ名を「開発チーム」としておく。「自動配信を有効にする」にはチェックを入れたままにしておく
「作成」をクリック
「内部テスト」に「開発チーム」が追加されるのでクリック
「テスター」の隣にある「+」をクリック
テスターに追加したいメールアドレスにチェックを入れて「追加」をクリック
5分ほどすると、「refirio has invited you to test My Shopping List.」というメールが届いた
メール内の「View in TestFlight」をクリック
TestFlightが立ち上がり、対象アプリに対する「同意する」ボタンが表示された
以降は、TestFlight内からインストールなどを行える
(複数のアカウントから招待を受けている場合、それらが同じ一覧に表示された)
■内部テストからの削除
内部テストのテスターから削除しても、インストール済みのアプリは起動できる
(必要に応じて、App Store Connectの上部メニューの「ユーザとアクセス」からも削除しておく)
ただしTestFlightを確認すると、アプリは「以前にテスト済み」として表示された
タップすると「デベロッパがテストプログラムからあなたを削除しました。」と表示されていて、インストールはできない
■外部テスト
※内部テストはAppleのアカウントの招待が必要だが、外部テストはAppleのメールアドレスだけで招待ができる
サイドバーの「外部テスト」の隣にある「+」をクリック
今回はグループ名を「テスター」としておく
「作成」をクリック
「外部テスト」に「テスター」が追加されるのでクリック
「テスター」の隣にある「+」をクリックして「新規テスターを追加」をクリック
テスターに追加したいメールアドレスと名前を入力して「追加」をクリック
「ビルド」の隣にある「+」をクリックしてテストしたいビルドを追加する
フィードバックメールアドレス: (自分のメールアドレス)
姓: (自分の名前)
名: (自分の名前)
電話番号: +81 9012345678 (自分の電話番号)
メールアドレス: (自分のメールアドレス)
サインイン: (チェックを外す。SNSなどでログインする必要がある場合、そのログイン情報を記載する)
「次へ」をクリック
テスト内容を入力して「審査へ提出」をクリック
ステータスが「審査待ち 期限切れまで91日」となった
※電話番号は、「+81 9012345678」のような形式で入力しないとエラーになった
※外部テストは、そのバージョンの最初のビルドのみ審査が発生する
審査が通っても通知は無いらしい
TestFlightには90日の期限があるので、例えば「検収環境の確認はTestFlightを使う」のような場合、定期的な更新が必要となる
この場合、原則バージョン番号はそのままに、ビルド番号だけを上げることで審査を回避できる
TestFlightのテスト情報入力で電話番号が弾かれた
https://zenn.dev/kabewall/articles/b8eed0438546d9
TestFlightで外部テストするときに審査が発生する場合がある
https://zenn.dev/st43/articles/df974ee0e5ffd5
以降は、TestFlight内からインストールなどを行える
(複数のアカウントから招待を受けている場合、それらが同じ一覧に表示された)
■外部テストからの削除
外部テストの一覧から削除すると、対象ユーザのTestFlightでは「以前にテスト済み」の部分に表示されるようになった
インストール済みのアプリは引き続き使えるが、アンインストールすると再度インストールはできなくなった
■パブリックリンク
[TestFlight][新機能] リンクをシェアするだけでアプリのβ配信・テストが出来ちゃう TestFlight Public Link を試してみた | DevelopersIO
https://dev.classmethod.jp/articles/how-to-distribute-app-with-testflight-public-link/
外部テストのページ内にある「パブリックリンクを有効にする」ボタンをクリックする
このパブリックリンクを有効にしてもよろしいですか?
このリンクを保持するユーザはAppをデバイスにインストールしたり、リンクを他のユーザと共有できるようになります。
の確認が表示されるので「有効にする」ボタンをクリック
パブリックリンクとして https://testflight.apple.com/join/nh3GtuLW が表示された
このメールで共有してみる
iPhoneでURLをクリックすると、TestFlightの案内とともに「テストを開始」のボタンが表示された
TestFlightがインストール済みの場合、TestFlightが起動してアプリの概要と「同意する」ボタンが表示された
同意すると、アプリのインストールができるようになった
※URLをクリックするとTestFlightが起動するが、テストは開始できなかった
…という場合、対象のアプリを選択して、いったん「テストの停止」とする
その後、再度URLをクリックすると、アプリの概要と「同意する」ボタンが表示される
■本番アプリと検収アプリの切り分け
【Xcode】Scheme(スキーム)とは?作成方法とビルドオプションの設定
https://tech.amefure.com/swift-xcode-basic-scheme
Xcodeで本番・ステージング・開発などの環境を分ける方法 | モグモグ
https://mo-gu-mo-gu.com/ios-scheme-build-settings/
iOS開発で環境ごとにアイコンやアプリ名、コード等を切り分けるオレオレプラクティス - Qiita
https://qiita.com/kazakago/items/2835d76ced43f913c31d
つい忘れて調べるXcodeの設定〜スキーム追加編〜 - Qiita
https://qiita.com/kazy_dev/items/feb68f162ec3d91005d3
TestFlight使用時に配布トラブルを減らすテクニックAlternate Icon使用 - SwiftUI100行チャレンジ? | Irimasu Densan Planning - いります電算企画
https://irimasu.com/testflight-using-alternate-icon
ExpoでstagingビルドをTestFlightする時にはアプリアイコンを変えるとわかりやすい - Qiita
https://qiita.com/0ba/items/1085df5deb69cc57a8cc
■トラブル
iOS: TestFlightが使えなくなる呪いとその解呪法
https://zenn.dev/kyome/articles/64386947a599cf