テストの自動化が実現できたので、今度はビルドをTestFlightにアップロードし、アドホックインストールできるようにします。少し長くなるので、記事を分けて書きます。
アドホック・ディストリビューションとは
iOSアプリを端末にインストールする方法は大きく分けて三つあります。
- AppStoreからアプリケーションをインストールする。
- 端末をMacに接続し、Xcodeを使ってアプリケーションをインストールする。
- ipaファイルを使ってインストールする。(アドホック・ディストリビューション)
今回使うのは3のアドホック・ディストリビューションの方法です。
アドホック・ディストリビューションの利点は、
- エンジニア以外の人間(テスター・ディレクター等)が、Xcodeを操作しなくても開発中のアプリケーションをインストールすることができる。
- その場にいない人にもネット経由でアプリをインストールさせることができる。
- 予め端末上で面倒なProvisioningのインストール等をしておかなくてよい。(ただし、ビルド時に使うProvisioningにはインストール可能な端末を設定しておかなければいけない)
です。
Jenkinsでアプリをビルドしてチームメンバーに配布する場合、一人一人Jenkinsマシンに端末を接続してアプリをインストールしていては意味がないので、アドホック・ディストリビューションの仕組みを使ってアプリを配布します。
アドホック・ディストリビューションを試す
Jenkinsで実際に設定をする前にアドホック・ディストリビューションに慣れておきましょう。
Provisioningの用意
アドホック用ビルドでは、通常の開発時と違うアドホック専用のProvisioningを用意する必要があります。
- Distribution MethodはAd Hocを選びます。
- App IDにはワイルドカードも指定できますが、後でJenkinsで使う際に不便になる場合があるためお勧めしません。
- Devices一覧から、そのアドホックビルドをインストール・実行可能にしたいデバイスをチェックしておきます。
ビルド
Provisioningを作成したらダウンロードして、実際にそのProvisioningでアプリをビルドできるか試してみましょう。なお、Ad Hoc用のProvisioningはDistribution用のProvisioningなので、Distribution用の秘密鍵・証明書を使います。
配布用のバイナリが欲しいので、Runではなく、Archiveを選択してビルドを実行します。実行環境がシミュレータになっているとArchiveは実行できないので、iOS Deviceを選んだ状態(実際に端末はつないでなくてOK)でArchiveを実行します。
ipaファイルの作成
Archiveが完了すると自動的にOrganizerが立ち上がり、作成されたアーカイブがリストに表示されるので、Distributionボタンを押して実際に配布に使うipaファイルを出力します。
Save for Enterprise or Ad-Hoc Deploymentを選択し、使用するプロファイル、出力先ファイル名を指定すると、ipaファイルが作成されます。
iPhone構成ユーティリティを使ってインストール
作成されたipaファイルを端末にインストールする方法はいくつかありますが、なにが起きているのかを把握するにはiPhone構成ユーティリティを使う方法が良いでしょう。
デバイスをつないだ状態でiPhone構成ユーティリティを起動し、ipaファイルを読み込むとデバイスにそのアプリケーションをインストールすることができます。
まとめ
アドホック・ディストリビューション用のProvisioningを用意してipaファイルを作成すると、そのipaファイルがあればXcodeを使わなくても端末にアプリケーションをインストールできます。この仕組みを利用して、Jenkinsでビルドしたアプリケーションをテスト・動作確認用の端末に簡単にインストールできるようになります。
Jenkinsの設定をする前に、次はTestFlightというサービスを使って、よりアドホック・ディストリビューションを便利に行ってみましょう。