JenkinsでIPAファイルをビルドしてTestFlightで飛ばす
続いて,TestFlightにアップロードするために,ビルドしたアプリケーションをipaファイルにパッケージングする.
jenkinsのXcodeプラグインは,ipaファイルをビルドする機能がついているのだが,私の環境ではうまく動作しなかった.
バージョン情報とかの設定が必要なのかもしれない.
そこで,直接ビルドツールxcrunを使い,xcodeのビルド後にipaファイルをビルドすることにする.
※Xcodeプラグインも内部的にも同じxcrunを使っているので同じ結果になるはずなんだけど・・・・.ちょっとわからない.
xcrunでビルド
xcrun -sdk iphoneos PackageApplication --embed hoge.mobileprovision ${WORKSPACE}/hoge.app -o ${WORKSPACE}/hoge.ipa
--embedオプションが必要なのかちょっと,不明瞭なんだが,一応,つけておく.TestFlightで配布するときのプロビジョニングファイルを埋め込んでおく.
これで,ipaファイルがビルドされるはずだ.
dSYM
次に,TestFlightの機能をフルに生かすためにdSYMファイルをアップロードする用意をする.
私はここでハマった.当たり前だが,dSYMファイルはディレクトリなんですよね・・・・・・・.
なので,まずiOSのビルド後にdSYMファイルをzipで圧縮する.これをTestFlightプラグインに読み込ませる.
zip -r ${WORKSPACE}/hoge.app.dSYM.zip ${WORKSPACE}/hoge.dSYM
TestFlight
ビルド後の処理にTestFlightによるアップロードを設定する.TestFlightプラグインをインストールしていれば,"ビルド後の処理を追加"ボタンで追加できる.
設定が必要な項目は,
・API Token
・Team Token
・IPA File
・dSYM File
だ.
API Tokenは,TestFlightの右上の自分のアイコンをクリックして,Account Setting→APIを選ぶと見られる.
Team Tokenは,TestFlightの右上の自分のアイコンの左隣の自分の名前をクリックして,”Edit Info”を選ぶと見られる.
これを見つけるのにかなり時間がかかった・・・・・・.
IPAファイルと,dSYMファイルは,フルパスで指定する.
${WORKSPACE}/hoge.ipa
${WORKSPACE}/hoge.dSYM.zip
これでビルドしたときに自動的にTestFlightにアップロードされる.
テストの対象者は,"Distribution Lists"で指定する.複数入力できるっぽい.あらかじめTestFlightでつくっておいたテストチームのタイトルを入力すればよい.
"Notify Team"にチェックを入れておくと,そのままテスターにメール通知もされるので非常に便利だ.
これで勝つる!!!!