iPhone Developer Programには、自作アプリをAppStore経由で配布する方法以外にも、直接バイナリを友人などに渡す方法も用意されている(但し、事前にUDIDを登録した実機100台まで)。
ところが、iPhone SDKのマニュアル(英語)をしっかり読んだつもりなのだが、そこに書いてある通りにやってもうまく行かなかった。
代わりに「iPhone Developer's Cookbook」に書いてある通りにしたら一発でうまく行ったので、こちらにまとめておく。
-------------------------------
(1) Xcodeのプロジェクトウィンドウからプロジェクト名の上で右クリックし、「新規ファイルの追加」をする。
(2) iPhoneOS-Code Signingグループから「Entitlements」を選択して「次へ」を押す。
ファイル名をdist.plistとして保存する。
(3) 追加されたdist.plistを選択し、「get-task-allow」のチェックを外す。
(4) ターゲットのビルド設定画面の「Code Signing Entitlements」の値として「dist.plist」を設定する。
※ターゲットのビルド設定画面のProvisioning Profileの項目には、Ad Hoc用のProvisioning Profileを設定しておくこと。Ad Hoc用のProvisioning Profileは、iPhone Developer Program Portalから生成できる。
(5) この状態でビルドすると(ビルド前にクリーニングしておくとより吉)、プロジェクトのbuildフォルダの中に各ビルド毎のビルド結果がプロジェクト名と同名の「アプリケーションバンドル」として出力されている。
(6) これをiTunesにドロップするとインストールできる。
(7) Ad Hoc用のProvisioning ProfileもiTunesにドロップしておく(これは最初の一回でOK)。
但し、Windows版のiTunesの場合には、アプリケーションバンドルは単なるフォルダとして認識されてしまうので、まずMac版のiTunesにアプリケーションバンドルをインストールしておいて、iTunesのミュージックフォルダの中の「Mobile Applications」のフォルダの中にある「アプリケーション名.ipa」というファイルを使う。
このipaファイルは、Windows版のiTunesでもMac版のiTunesでも使えるので、基本的にAd Hoc Distributionをする際にはこちらを使った方がいい。ipaファイルとAd Hoc用Provisioning Profileをセットで送ることになる。
iTunesから実機への転送時にエラーになる場合には、Provisioning Profile周辺で問題が起きているのでその辺を見直すこと。主に「その実機のUDIDを登録していない」「ターゲットのビルド設定に正しいAd Hoc用Provisioning Profile名を指定していない」ことが原因。
【訂正】
「Ad Hocにはまったのでメモ - ゆるふわカイハツ日記 - iPhoneアプリ開発グループ」さんのご指摘で、「プロジェクトのビルド設定画面」ではなく、「ターゲットのビルド設定画面」の間違いでした。余計なお手間を取らせてしまい、大変申し訳ありませんでした。m(__)m
ページの情報は既に修正済みです。









Recent Comments