iPhoneアプリのテスト用ビルドをTestFlightに簡単に登録するの記事を参考にして、iOSアプリをTestFlightに送り込むMakefileを書きました。
オリジナルのblog記事との違い:
- provisioning profileは1つしか使ってないのでデフォルトで
- uploadしても自動配布はしない。
- dSYMも一緒にuploadする
- dSYMはbuild時に生成されるので、build時の成果物がout/の下に行くように変更
Makefile
# http://hakobe932.hatenablog.com/entry/2012/01/21/142726#fn1
.PHONY: all build archive testflight
PROJECT ?= PAMEventBoard.xcworkspace
SCHEME ?= PAMEventBoard
SIGN ?= iOS Developer
DSYM = $(PWD)/out/build/PAMEventBoard.app.dSYM
all: archive
out:
mkdir -p $@
build: out
xcodebuild -workspace '$(PROJECT)' -scheme '$(SCHEME)' -sdk iphoneos7.0 install DSTROOT=out CONFIGURATION_BUILD_DIR=$(PWD)/out/build
archive: build
xcrun -sdk iphoneos7.0 PackageApplication 'out/Applications/$(SCHEME).app' -o $(PWD)/out/$(SCHEME).ipa'
zip-dsym: build
zip -r $(PWD)/out/$(SCHEME).dSYM.zip $(DSYM)
testflight: archive zip-dsym
curl 'http://testflightapp.com/api/builds.json' \
-F 'file=@$(PWD)/out/$(SCHEME).ipa' \
-F 'dsym=@$(PWD)/out/$(SCHEME).dSYM.zip' \
-F 'api_token=<YOUR API TOKEN>' \
-F 'team_token=<YOUR TERM TOKEN>' \
-F 'notes=This build was uploaded via the upload API' \
-v
clean:
rm -rf ./out