良い事ずくめのAdHoc配布方法:OTA
はじめに
iOSでアプリを開発中に実機での動作確認は不可欠です。AdHocで配布し『iTunes』や『iPhone構成ユーティリティ』などを使って実機にインストールするのが普通と思います。
AdHocアプリの配布&インストール方法にOTA(Over The Air)がある事を知りやってみたらとても便利でした。
利点
インストール操作がワンタッチにできる
iOSデバイス実機のみでインストールできる
旧アプリの設定などを残し上書きインストールでき、バージョンアップの影響も確認できる
問題
ネットワーク環境が安定しない場合インストールに失敗する場合あり
正常にダウンロード/インストールできない場合原因をさぐりにくい
OTA配布とは
AdHoc用のipaファイルとインストール用のplistファイルをダウンロード可能にすることでMacなどの母艦なしでインストールします。
インストール用URLスキームを使うのでインストールはAppStoreでの購入と同等の感覚です。
ipaファイルは通常のAdHocと同じです。plistファイルは次の手順で作れます。
OTA用ファイルの準備
OTAで必要なファイルで従来のAdHocにないものはplistファイルだけです。
Xcode4.6でArchiveまでの操作はかわりません。
OrganizerウインドウでDistribute...を指定も同様です。
AdHoc用Code Signing Identity:を選ぶ部分も同様です。
最後にSave for Enterprise DistributionをチェックしURLとTitleを入力します。
URLにhttp://XXX.com/test/Menkuten.ipa【ダウンロード可能なipaのURL】
TitleにMenkuten【アプリ名称】と入力し保存すると
Menkuten.ipa(通常のAdHocと同じ)と
Menkuten.plistが保存されます。
plistの内容
plistは直接編集するなら使い回しが可能です。
使い回す場合は2回目以降は通常のAdHocのアーカイブとまったく同じ手順でかまいません。
インストール用
URLスキーム
次にipaファイルを上記URLにアップしplistもアップします。
ipaとplistは同一ディレクトリにするのが管理しやすいでしょう。
アップした『plistのURL』を次のURLスキームのパラメータに与えAdHocをインストールしたい実機でたたくとそれだけでインストールがはじまります。
★あらかじめプロビジョニングプロファイルがインストール済みである前提です
インストール用のURLスキーム
itms-services://?action=download-manifest&url=【plistのURL】
上記の例だと
itms-services://?action=download-manifest&url=http://XXX.com/test/Menkuten.plist
となります。
ひとこと
検索するとwebページを用意しインストール用のリンクに上記URLスキームを設定する例が出て来ますが、直接URLスキームをたたくだけでインストールします。
URLスキームはSafariはもちろんメールアプリとメモアプリでも起動します。
OTAの実際
itms-services://?action=download-manifest&url=http://XXX.com/test/Menkuten.plist
をメモアプリに入力するとリンクとして下線がつきます。
このURLをタップするとAppStoreで購入と同じようにダウンロードとインストールがおこなわれます。
トラブルシューティング
接続できません
これまで遭遇した問題は plistのURLとplist内のipaファイルのURLです。
これらのURLに実際のファイルが存在しないとエラーを表示しダウンロードできません。
このエラーの場合は、plistが実際にダウンロード可能か、URLスキーム内のplistのURLが正しいかを確認してください。
ipaファイルがダウンロードできない場合もあります。
plist内のipaファイルのURLを確認してください。拡張子まで含めて指定する必要があります。
ダウンロードできてインストールできない場合
ipaファイルまたはプロビジョニングプロファイルに問題があるとダウンロードは済んでもインストールに失敗します。
当然ですがプロビジョニングプロファイルで指定したデバイス以外で上記インストール用URLスキームをたたいてもインストールできません。
またiPad用アプリをiPhoneにインストールしようとしても(ダウンロードはしますが)インストールできません。(OTAがあまりに手軽なのでついやってしまいます、ご注意ください。)
インストールできない場合はMacと接続する従来の方法でインストールできることをまず確認してください。
そのほかの注意点
ipaファイルをダウンロードし解凍してインストールするためMacと直結でインストールする場合に比べると実機の空き容量は多く必要と思われます。
ダウンロード途中のネットワーク切断にも弱い印象です。
容量の大きなアプリをインストールする場合は安定したWiFi環境かLTE接続で十分速度が出る環境で行うのが安全です。
まとめ OTAの特徴
テスト協力者にやさしいOTA
プログラマ以外の協力者にテストしてもらう再にOTAはとても便利です。
URLスキームをメール内に書き、インストールするデバイスで受信してもらえばメールアプリでURLスキームをタップするだけでインストールできます。
ipaファイルをダウンロードし手作業でインストールする必要がなくなり、インストール作業が格段に手軽になります。
リリース時の挙動も試せるOTA
古いバージョンがあってもデータはそのままで上書きしてくれます。
この動作はAppStoreでのバージョンアップと同じなので動作確認には好都合です。
協力依頼も手間いらずなOTA
OTAの準備段階でダウンロードのチェックなどにはメモアプリのiCloud同期が便利です。
手元で確実にインストールできることを確認したらメモアプリのURLスキームをメールにコピーして協力者に送信するだけです。
少し古いですがApple社の正式ドキュメントで日本語になっているものがあります。
「ワイヤレスでのアプリケーションのインストール」を参照
※ドキュメントはエンタープライズ用ですがOTA用のURLスキームは一般デベロッパでも利用可能です。
OTAはとても便利なのでぜひ試してください。
iBooksで読めるiOSプログラマ向け解説書
目次のPDFを用意しました。(ページはA4表示の元データのものです)
TextKit概説 目次