大きめの iOS アプリの開発をやっていると、クローンもライブラリのダウンロードもビルドも全てにおいて時間がかかるようになります。
それぞれを個別に人間が実行すると面倒なので、Git のクローンからシミュレーターでの実行まで、連続してやってくれるシェルスクリプトを作りました。
#!/bin/sh -e
if [ $# -ne 1 ]; then
echo "Usage:runMyProject branch" 1>&2
exit 1
fi
Repository="https://github.com/UserName/MyProject"
ProjectFile="MyProject.xcodeproj"
echo "===== git clone ====="
git clone -b $1 ${Repository} .
echo "===== carthage bootstrap ====="
carthage bootstrap --platform ios --no-use-binaries --cache-builds
echo "===== open Xcode ====="
open ${ProjectFile}
sleep 20
echo "===== Xcode run ====="
osascript -e 'tell application "Xcode"
activate
run active workspace document
end tell'
- ファイル名やシェル変数の Repository および ProjectFile は、各自の環境に合わせて変えてください。
- 最後に iOS Simulator での実行までやってますが、ビルドで止めたいときは、run の部分を build に変えてください。
実行時は、まずディレクトリを作って、その中に入り、第一パラメーターにクローンしたいブランチ名を指定して起動します。
$ mkdir hoge
$ cd hoge
$ runMyProject develop
改良したい点としては、
- Xcode を起動後、20秒待つのではなく、立ち上がり完了を検知するようにしたい。
- iOS シミュレーターの種類を指定できるようにしたい。