Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
64
Help us understand the problem. What is going on with this article?
@kazuhiro4949

ipaファイル生成とDeployGateへのアップロードをXcode上で自動化する

More than 5 years have passed since last update.

こちらの記事を参考にさせていただきました。
.ipa ファイル生成を自動化する

Run Scriptを利用して、XCode上でCommand+Bを押した時に
1. ビルド
2. ipaファイル生成
3. DeployGateへアップロード・テスターへ配信
までを自動で行います。

開発中のiOSアプリを同じテスターへ繰り返し配信したいなどの理由で利用しています。
基本的には、shu223さんのスクリプトへDeployGateのAPIを一行追加しただけで出来ました。簡単。

準備

※ 以下を進めるにはDeployGateのアカウントとAdHoc配布用のProvisioning Profileが必要ですが、それらの作り方については説明を省略します。こちらの記事を参考にしてください。

1. DeployGate用のSchemeを追加する

Configurationを複製して、配布用のものを追加します。

1.png

3.png

配布用のSchemeを追加します。DeployGateへアップロードするときにはこいつを選択した状態でビルドします。

2.png

配布用SchemeのBuild Configurationを、先ほど作成したConfigurationにします。
5.png
Screen Shot 2014-02-27 at 17.19.10.png

配布用Schemeの設定が追加されました。このスキームでビルドした時に、ipaファイルがDeployGateへアップロードされるようにします。

2. ipa作成・DeployGateアップロードのRun Scriptを書く

まずTargetのBuild Phaseタブへ移動します。
Add Build Phase > Add Run Script Build Phase
でRunScriptを追加します。
Screen Shot 2014-02-27 at 16.26.43.png

追加されたRun Scriptのテキストエリアへ、以下のようなスクリプトを入力してください。

RunScript
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へアップロードしたい

64
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
64
Help us understand the problem. What is going on with this article?