大きめの 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 シミュレーターの種類を指定できるようにしたい。