ガンガンフィードバックもらって、より良いアプリをつくるために、Baltoを使ってアプリのテスト配信を行ってます。スクショつきで簡単にフィードバックが送れるので便利です。
Balto - Feedback tool for Web iOS Android apps
ただ、毎回XcodeでArchiveして、ブラウザでbalto開いてipaアップロードするのはめんどうです。コードの規模が大きくなってくるとアーカイブに10分以上かかって、作業中断されるのはつらい。
なので、developにマージしたら自動で配信されるようにしてみました。
やり方
1. Bitriseに登録する
※メンバー2人以内、ビルド回数月200回以下であれば無料で使えます。
bitriseの使い方は、以下のページも参考になります。
2. 必要なファイルをアップロードする
- workflowのページを開いて、左側のサイドバーから Code signing & Files を選択
- provisioning profile と code signing identity をあげる
※間違ったファイルアップロードするとハマるので注意
3. Xcodeの設定を確認
- schemeがsharedになっていて、リポジトリにcommit&pushされていること
- projectとtargetの両方で、code signing identity と provisioning profileが正しく設定されていること
4. Workflowを編集する
Xcode Archive を編集
Use deprecated ipa export method? を yes に。
※ これをnoにしたまま、 Export options path を設定するのも試したが、自分の環境・設定ではうまくいきませんでした。何かミスってたのかも。。
※ Force code signing with Identity と Force code signing with Provisioning Profile を使うと、cocopaodsでインストールしたライブラリのcode signでエラーがでるため利用しませんでした。cocoapods使ってなければ、これらを利用した方が楽かもしれません。
Deploy to Balto を Xcode Archiveのあとに追加
#!/bin/bash
# fail if any commands fails
set -e
# debug log
set -x
# write your script here
curl -F "package=@${BITRISE_IPA_PATH}" -F "project_token=${BALTO_PROJECT_TOKEN}" -F "user_token=${BALTO_USER_TOKEN}" -F "release_note=${BITRISE_GIT_MESSAGE}" https://balto-api.herokuapp.com/api/v2/builds/upload
※ tokenは自分で環境変数に設定すること
※ 参考:APIを利用してipa/apkファイルをアップロードする - Balto JA
5. developにマージされたら自動配信
Bitriseの「Code」タブでWebhookのURLを取得し、Github/Bitbucketに設定しましょう。
defaultだとpushしたらすべてbuildがはしってしまうので、Workflow Editor の Triggers でフィルタリングする必要があります。developだけにする場合はこんな感じ。
※ Should pull request ... の部分はpull-req出したタイミングでビルドしたい場合にチェックいれるっぽいです。たぶん。
6. build & 配信
あとはボタン押すだけ。
良い感じにログが出るので、もしうまくいかなかったらそれ見て直しましょう。
以上です!