iPhoneアプリのテスト用ビルドをTestFlightに簡単に登録する

iPhoneアプリ開発者のみなさんこんにちは。最近は B!KUMA というアプリをつくっています。hakobeです。最近はエンタメというのもでました。

開発中のアプリのテスト用ビルドをためしてもらうにはTestFlightが大変便利ですね!これでもずいぶん楽なのですが、TestFlightからアプリをダウンロード可能にするためには、

  1. XcodeでTestFlight公開用のビルド設定にあれこれ変更してArchive
  2. OrganizerのArchivesから作成されたarchiveを選択してshare => ipa 形式で保存
  3. TestFlightのサイトにアクセスしてipaファイルをアップロード

といった手順が必要です。そこそこ面倒で時間もかかりますし、気も使います。「hakobeくん、さっきのビルド、すぐにTestFlightしてよ。」などと言われるとあわててしまって間違えたりします。

TestFlightにはUploadAPIというのがあって、ipaファイルをアップロードする部分が自動化できそうです。そこで、iPhoneアプリのビルドからTestflighへのアップロードを自動化するMakefileを作ってみました。

以下のファイルをおいておくと、make testflightするだけで、最新コードでビルドが実行され、TestFlightにipaがアップロードされます。便利!

ほかにも以下のように使えます。

$ make # デフォルトのSCHEMでipaファイルを作る
$ make testflight NOTIFY=True # Testflight にアップロードして通知
$ make testflight SCHEME='hoge' # "hoge" scheme でビルドしてTestflightに公開
$ make clean # ビルドファイルを消す

ファイル名を合わせたりする都合で、Xcodeプロジェクトが以下のようになってないと動かないので、ご注意ください。

  • Build Target の名前、Build TargetのBuild Setting内の Product Name、Scheme の名前を揃えておく ( 例: "B!KUMA Girls" )
  • Provisioning Profileをリポジトリ内の "provisionings/${Build Targetの名前}.mobileprovisioning"に配置する ( 例: "provisionings/B!KUMA Girls.mobileprovisin")

なんかかっこよさそうという理由でRakefileにしたかったのですが、Rakefileの書き方がつまづいたのでMakefileになりました.. Rakefileにしたい!*1

*1:Makefile書くときも id:suzak さんに教わりながら書きました