iOS用アプリ開発中に、限られたデバイスだけで実行できるテスト版を作りたいときは、AdHoc版を用意するのが便利です。
今までAdHoc版の作り方のMEMOを残していなかったので、プロビジョニングプロファイルを作成するところからスクリーンショット付きでMEMOしておきます。
追記:2017.11 秘密鍵+CSR作成〜証明書作成〜.p12作成〜プロビジョニングプロファイル作成までの流れについて、2017年版を作成したのでこちらにもリンクを置いておきます。
iOS Developer Programを購入する方法を参考にしてプログラムを購入し、以下の手順でAdHoc用のビルドを用意するといいと思います。
また、AdHoc用のプロビジョニングプロファイルは、これまためちゃめちゃ便利なTestFlightというサービスを利用する際にも使います。(TestFlightについてのMEMOは「TestFlight とりあえずどんなものか」を。)
追記 ここで記載しているTestFlightは、現在では利用できなくなっています。こちらの記事をご参考に。
AdHoc用のプロビジョニングプロファイルの作成
- iOS Provisioning Portal>Provisioning>Distribution にアクセスして「New Profile」をクリック。
- 「Ad Hoc」にチェック。Devicesではテストを実施するUDIDの登録済みデバイスを選択します。「Profile Name」は適当にAdHocである事がわかる名前を、「Distribution Certificate」は配布用のものを、App IDでは「*」を指定したものを選んでおくといいです。
- 登録直後は、Statusが「Pending」となるのでちょっと待ちます。
- 数秒ほど待ってページを更新すると、StatusがActiveとなります。
FlashなどでiOS用アプリを作る場合は、この「Download」を押して、プロビジョニングプロファイルを入手してください。
次にXcodeでAdHoc用のipaを作り、配布するページを作るところまでMEMOしておきます。
AdHoc用のipaを作る
- 適当なXcodeのプロジェクトを開きます。
- 右上の方のボタンを押して、Organizerを開きます。
- 「Devices」の「Provisioning Profiles」の右下の方の「Reflesh」で最新の状態に更新します。先ほど登録したAdHoc用のプロビジョニングプロファイルが出てくると思います。(このスクリーンショットの例で、さっそくプロファイルがあと9日で期限切れになりそうになってるのは気にせずに)
- Xcodeに戻ります。「Build Settings」>「Code Signing」の「Release」欄で、先ほど作成したAdHoc用のプロビジョニングプロファイルのものを選択できるようになると思いますので、リストから選択。
- Xcodeのプロジェクトをアーカイブします。Runの設定がiOS Device(あるいは接続しているデバイス名)になってないと「Product>Archive」が選択できない状態になるので超注意です。これ意外と毎回忘れます。
- 配布用のアーカイブがOrganizerのArchivesに現れます。
今、作成したばかりのArchive(アーカイブした日付が表示されてます)を選択して「Distribute…」を押します。 - 「Save for Enterprise or Ad-Hoc Deployment」を選択して「Next」を押します。
- 「Code Signing Identity」では先ほどXcodeのBuild Setting>Releaseで選択したAdHoc用のものを選択。
- 保存先を指定し、「Save for Enterprise Distribution」をチェック。「Application URL」と「Title」は必ず入力しなければなりません。特に「Title」の方は注意が必要で、こちら未入力でも先に進めちゃいます。しかし、最後にiPhoneでインストール用のリンクを選んでも、何のメッセージもなしに無反応となり、ここが原因である事がわからない状態に陥ります。
- 配布に必要な「.ipa」と「.plist」が作成されます。
- 「.plist」を開いてみると、上記で入力した情報が組み込まれています。
Webを介して配布する際に必要な、AdHoc版「.ipa」と「.plist」が準備できました。
あとは、HTMLファイルにリンクを作成するのですが、リンク先のURLには、
itms-services://?action=download-manifest&url=○○.plist
にします。
このリンクを記述したHTMLと「.ipa」、「.plist」をサーバにアップし、そのHTMLファイルのURLをテストユーザに知らせてあげます。当然ですが、「.ipa」のURLは先ほど「.plist」に組み込んだURLと一致するようにサーバにアップします。
テストユーザは、AdHocのプロビジョニングプロファイルに登録してあるデバイスで、そのURLを開くとWebを介してインストールする事が可能です。
ダウンロードが始まってインストールの最後の最後で失敗する場合は、プロビジョニングプロファイルにそのデバイスのUDIDが含まれていない可能性もありますので、その辺を確認してみましょう。
東京造形大学卒業後、マクロメディア(現アドビ)に入社。QAやテクニカルサポートマネージャーとしてFlash、DreamweaverなどのWeb製品を担当。独立後、2007年に虫カゴデザインスタジオ株式会社を設立。2021年東京三鷹を拠点に。最近は、Unity, Unity Netcode for GameObjects, CakePHP, Laravel, ZBrush, Modo, Adobe Substance 3D, Adobe Firefly, Xcode, Apple Vision Pro, Firebaseにフォーカスしています。モバイルアプリ開発情報を主としたブログ「MUSHIKAGO APPS MEMO」の中の人。
コメント
[…] まず、AdHoc版をビルドする手順が必要なので、「iOS用アプリのAdHoc版を作る(Xcode)」を参考にAdHoc版用のアーカイブを作ります。大事な点は、Release用のCode SigningをAdHoc版のものにしてお […]
大変参考になりました。ありがとうございました。
参考になりました!
が、私の場合はそれ以前にアプリIDを適当にしてしまっていて、証明書との整合性がとれていなく悪戦苦闘しました。