こちらの記事を参考にさせていただきました。
「.ipa ファイル生成を自動化する」
Run Scriptを利用して、XCode上でCommand+Bを押した時に
- ビルド
- ipaファイル生成
- DeployGateへアップロード・テスターへ配信
までを自動で行います。
開発中のiOSアプリを同じテスターへ繰り返し配信したいなどの理由で利用しています。
基本的には、shu223さんのスクリプトへDeployGateのAPIを一行追加しただけで出来ました。簡単。
準備
※ 以下を進めるにはDeployGateのアカウントとAdHoc配布用のProvisioning Profileが必要ですが、それらの作り方については説明を省略します。こちらの記事を参考にしてください。
1. DeployGate用のSchemeを追加する
Configurationを複製して、配布用のものを追加します。
配布用のSchemeを追加します。DeployGateへアップロードするときにはこいつを選択した状態でビルドします。
配布用SchemeのBuild Configurationを、先ほど作成したConfigurationにします。
配布用Schemeの設定が追加されました。このスキームでビルドした時に、ipaファイルがDeployGateへアップロードされるようにします。
2. ipa作成・DeployGateアップロードのRun Scriptを書く
まずTargetのBuild Phaseタブへ移動します。
Add Build Phase > Add Run Script Build Phase
でRunScriptを追加します。
追加されたRun Scriptのテキストエリアへ、以下のようなスクリプトを入力してください。
if [ "${CONFIGURATION}" = "Adhoc" ]; then
xcrun -sdk iphoneos PackageApplication \
"${BUILD_DIR}/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}/${WRAPPER_NAME}" \
-o <出力するipaファイルのパス> \
--embed ~/Library/MobileDevice/Provisioning\ Profiles/<プロファイルのファイル名>
curl "https://deploygate.com/api/users/<ユーザー名>/apps" \
-F "file=@<ipaファイルパス>" \
-F "token=<DeployGateのAPIトークン>"
fi
CONFIGURATIONには先ほど作成した"Adhoc"を指定します。
SchemeのConfigurationが"Adhoc"の場合に、ipaファイルの作成とDeployGateへの配信を行います。
xcrunコマンドの<プロファイルのファイル名>には、作成したプロビジョニングプロファイルを指定してください。
DeployGate APIの詳細はこちらを御覧ください。
実行
SchemeにAdhocを選択した状態でcommand+Bを押すと、作ったコードをipaファイルにしてDeployGateへアップロードしてくれます。
関連記事
ブラウザからDeployGateへアップロードしたい
JenkinsからビルドしてDeployGateへアップロードしたい
コマンドラインからビルドしてDeployGateへアップロードしたい