(2012-09-16) エンタープライズ関連のリンクを追加しました。
(2012-09-08)「ビジネスにもiPhoneを」、「iOSチーム管理ガイド」日本語版 「App Storeへの登録に関するチュートリアル」日本語版 へのリンクを追加しました。
AdHoc配布のやり方の手順。(2012-07-20時点)
AdHoc配布とは?
AppleのApp Storeを経由しないで、配布する方法です。ただし制限もあります。
•Appleによるアプリの審査が不要。開発してすぐインストールできる。AppStoreへ登録する直前の工程としてのテスター向け配布や、中小規模の企業内アプリ配布に向いている。
•開発端末を含めて1つのDeveloperIDについて100台までの特定多数に対して可能。不特定多数への配布は不可。(特定多数なのは、配布対象となるiOS Deviceのシリアル番号を1台毎にAppleに申請する必要があるため)
•大規模配布の必要な企業(100台以上の配布)には別途 iOS Enterprise Developer Program ($299/year)を契約した方がよい。(個人及び開発請け負い代理店等は契約不可。)
•AdHocアプリはAppStoreを利用した課金システム等のサービスは利用できない。(iAd広告も含む)
•In-House AppStore for iOSやTestFlight等を利用して、配布管理システムを自前で用意する必要がある。
AdHoc配布のやり方の手順。
MacOSX 10.7 + Xcode 4.3.3 での手順。(Xcode 4.4.1でもほぼ同じです)
ただし、最低限iOS Developer会員になっていて実機開発ができる状態になっていることが必要です。
App IDは最初からあるワイルドカードを使用します。
一度AdHoc用ワイルドカードを作っておけば開発上なにかと便利なので。
注意)このAdHoc用ワイルドカードプロビジョニングファイルが入っているiOSデバイスは、今後、貴方が作ったAdHoc配布なアプリをすべて起動できるようになるので、実際の特定多数に対するAdHoc配布には使用しない方が無難です。自分の開発用iOSデバイスのみか、家族のiOSデバイスのみに限定した方がよいです。実際のAdHoc配布には、作成しているアプリ用の正式なAppIDを取得して別途Distribution用プロビジョニングファイルを取得して行うようにしてください。
おおまかな作業の手順は以下になります。
1)AdHoc用のプロビジョニングファイルの作成取得
2)Xcodeプロジェクトの作成
3)配布用ipaファイルの作成&配布
(注.WebからiOS Deviceに直接配布する方法であるEnterprise Distribution AdHocの方法に関しては記載してありませんので、あしからず。)
1)AdHoc用のプロビジョニングファイルの作成取得
1-1) iOS Devのプロビジョニングポータル画面に移動


1-2) iOSデバイスの確認および登録

「Devices」のタブを選択して、「Add Devices」等で適切にAdHocの対象にしたいiOSデバイスを登録します。
1-3) プロビジョニングファイルの作成
1-3-1) 新規作成
「Provisioning」のタブを選択 →「Distribution」のタブを選択 →「New Profile」のボタンを選択。

1-3-2) パラメータ入力

「Distribution method」→ 「Ad Hoc」
「Profile Name」→「AdHoc Wildcard Provisioning Profile」
「App ID」→「Xcode:iOS Wildcard AppID」(「Development」のタブで参照した時にワイルドカード扱いになっているProfileのAppIDを指定)
「Devices」→Ad Hocの対象にしたいデバイスにチェックを入れます。
入力できたら、「Submit」で確定。
補足)
通常のアプリの場合でAdHoc配布とApp Store配布作る予定がある場合にはDistribution用のプロファイル名「Profile Name」を
アプリ名-AppStore
アプリ名-AdHoc
としてそれぞれAppStore用、AdHoc用として作成するといいと思います。
1-3-3) 取得&登録

新しくできたプロビジョニングファイルを「Download」。
(Activeになっていなかったら、一旦他の画面へ移動して再度開くと大抵Activeになっています。)
ダウンロードしたら、ダブルクリックしてXcodeのオーガナイザのProvisionig Profileに登録。
iPhone構成ユーティリティがある場合はそちらが起動することもあります。(iPhone構成ユーティリティで登録しても問題はありません。)
Xcodeから登録する場合は、一旦、Xcodeを起動して、オーガナイザを開いて、「Devices」タブ選択→「LIBRARY」「Provisioning Profile」の画面を開いて、画面下にある「import」ボタンで読み込みます。

2)Xcodeプロジェクトの作成
AdHoc配布用だけでなく、App Store配布用のバイナリの作成もAdHoc用のバイナリの作成もワンタッチ切り替えでどちらも可能なプロジェクトファイルの作成を行います。
ただし、AdHocのリリースとApp Storeのリリースは同時には行わないケースが自分の場合は多いのでコンパイルターゲットの切り替えは行わない方法です。
(コード作成→ローカルデバッグ→AdHoc配布でのテスト&修正→App Store配布という手順になるためです。)
2-1) プロジェクトの作成
「test」というプロジェクトを作成して説明します。
まず最初に、新規プロジェクトを作成します。
「Product Name」→「test」
「Company Identifier」→「jp」
Xcode 4.4の場合には、「Organization Name」→「Japan」でもOK
ここらの値は適切に読み変えてください。
2-2) Configurationの追加


「Debug,Release」をそれぞれコピーして「AdHoc Debug,AdHoc Release」を作成します。
2-3) プリプロセッサマクロ定義の追加
プロジェクトを選択して、「Build Setting」のタブに切り替えて「Apple LLVM compiler - Preprocessing」の項目を開いてコンパイル条件にAdHoc Debug, AdHoc Releaseに追加します。


これで、ソースコード上で、
#ifdef ADHOC
#endif
#ifndef ADHOC
#endif
等の条件を使用することでAdHoc用のコードのコンパイル制御ができます。
具体的には、バージョン情報をアプリ上で表示する機能があった場合には、バージョン情報にAdHocの文字列を追加することや、AdHocでの配布用には専用の特殊付加機能やデバッグ用のサポート機能をつけたりとかできます。
2-4) Schemeの追加

「Menu」→「Project」→「Manage Schemes」
「test」のSchemeを選択して、コピー。「test AdHoc」を追加。
2-5) 追加したSchemaの編集
「test AdHoc」のShemeを「Edit」。

「Debug」になっているところを「AdHoc Debug」
「Release」も同様に「AdHoc Release」に変更。

(2012-09-08)「ビジネスにもiPhoneを」、「iOSチーム管理ガイド」日本語版 「App Storeへの登録に関するチュートリアル」日本語版 へのリンクを追加しました。
AdHoc配布のやり方の手順。(2012-07-20時点)
AdHoc配布とは?
AppleのApp Storeを経由しないで、配布する方法です。ただし制限もあります。
•Appleによるアプリの審査が不要。開発してすぐインストールできる。AppStoreへ登録する直前の工程としてのテスター向け配布や、中小規模の企業内アプリ配布に向いている。
•開発端末を含めて1つのDeveloperIDについて100台までの特定多数に対して可能。不特定多数への配布は不可。(特定多数なのは、配布対象となるiOS Deviceのシリアル番号を1台毎にAppleに申請する必要があるため)
•大規模配布の必要な企業(100台以上の配布)には別途 iOS Enterprise Developer Program ($299/year)を契約した方がよい。(個人及び開発請け負い代理店等は契約不可。)
•AdHocアプリはAppStoreを利用した課金システム等のサービスは利用できない。(iAd広告も含む)
•In-House AppStore for iOSやTestFlight等を利用して、配布管理システムを自前で用意する必要がある。
AdHoc配布のやり方の手順。
MacOSX 10.7 + Xcode 4.3.3 での手順。(Xcode 4.4.1でもほぼ同じです)
ただし、最低限iOS Developer会員になっていて実機開発ができる状態になっていることが必要です。
App IDは最初からあるワイルドカードを使用します。
一度AdHoc用ワイルドカードを作っておけば開発上なにかと便利なので。
注意)このAdHoc用ワイルドカードプロビジョニングファイルが入っているiOSデバイスは、今後、貴方が作ったAdHoc配布なアプリをすべて起動できるようになるので、実際の特定多数に対するAdHoc配布には使用しない方が無難です。自分の開発用iOSデバイスのみか、家族のiOSデバイスのみに限定した方がよいです。実際のAdHoc配布には、作成しているアプリ用の正式なAppIDを取得して別途Distribution用プロビジョニングファイルを取得して行うようにしてください。
おおまかな作業の手順は以下になります。
1)AdHoc用のプロビジョニングファイルの作成取得
2)Xcodeプロジェクトの作成
3)配布用ipaファイルの作成&配布
(注.WebからiOS Deviceに直接配布する方法であるEnterprise Distribution AdHocの方法に関しては記載してありませんので、あしからず。)
1)AdHoc用のプロビジョニングファイルの作成取得
1-1) iOS Devのプロビジョニングポータル画面に移動


1-2) iOSデバイスの確認および登録

「Devices」のタブを選択して、「Add Devices」等で適切にAdHocの対象にしたいiOSデバイスを登録します。
1-3) プロビジョニングファイルの作成
1-3-1) 新規作成
「Provisioning」のタブを選択 →「Distribution」のタブを選択 →「New Profile」のボタンを選択。

1-3-2) パラメータ入力

「Distribution method」→ 「Ad Hoc」
「Profile Name」→「AdHoc Wildcard Provisioning Profile」
「App ID」→「Xcode:iOS Wildcard AppID」(「Development」のタブで参照した時にワイルドカード扱いになっているProfileのAppIDを指定)
「Devices」→Ad Hocの対象にしたいデバイスにチェックを入れます。
入力できたら、「Submit」で確定。
補足)
通常のアプリの場合でAdHoc配布とApp Store配布作る予定がある場合にはDistribution用のプロファイル名「Profile Name」を
アプリ名-AppStore
アプリ名-AdHoc
としてそれぞれAppStore用、AdHoc用として作成するといいと思います。
1-3-3) 取得&登録

新しくできたプロビジョニングファイルを「Download」。
(Activeになっていなかったら、一旦他の画面へ移動して再度開くと大抵Activeになっています。)
ダウンロードしたら、ダブルクリックしてXcodeのオーガナイザのProvisionig Profileに登録。
iPhone構成ユーティリティがある場合はそちらが起動することもあります。(iPhone構成ユーティリティで登録しても問題はありません。)
Xcodeから登録する場合は、一旦、Xcodeを起動して、オーガナイザを開いて、「Devices」タブ選択→「LIBRARY」「Provisioning Profile」の画面を開いて、画面下にある「import」ボタンで読み込みます。

2)Xcodeプロジェクトの作成
AdHoc配布用だけでなく、App Store配布用のバイナリの作成もAdHoc用のバイナリの作成もワンタッチ切り替えでどちらも可能なプロジェクトファイルの作成を行います。
ただし、AdHocのリリースとApp Storeのリリースは同時には行わないケースが自分の場合は多いのでコンパイルターゲットの切り替えは行わない方法です。
(コード作成→ローカルデバッグ→AdHoc配布でのテスト&修正→App Store配布という手順になるためです。)
2-1) プロジェクトの作成
「test」というプロジェクトを作成して説明します。
まず最初に、新規プロジェクトを作成します。
「Product Name」→「test」
「Company Identifier」→「jp」
Xcode 4.4の場合には、「Organization Name」→「Japan」でもOK
ここらの値は適切に読み変えてください。

2-2) Configurationの追加


「Debug,Release」をそれぞれコピーして「AdHoc Debug,AdHoc Release」を作成します。
2-3) プリプロセッサマクロ定義の追加
プロジェクトを選択して、「Build Setting」のタブに切り替えて「Apple LLVM compiler - Preprocessing」の項目を開いてコンパイル条件にAdHoc Debug, AdHoc Releaseに追加します。


これで、ソースコード上で、
#ifdef ADHOC
#endif
#ifndef ADHOC
#endif
等の条件を使用することでAdHoc用のコードのコンパイル制御ができます。
具体的には、バージョン情報をアプリ上で表示する機能があった場合には、バージョン情報にAdHocの文字列を追加することや、AdHocでの配布用には専用の特殊付加機能やデバッグ用のサポート機能をつけたりとかできます。
2-4) Schemeの追加

「Menu」→「Project」→「Manage Schemes」
「test」のSchemeを選択して、コピー。「test AdHoc」を追加。
2-5) 追加したSchemaの編集
「test AdHoc」のShemeを「Edit」。

「Debug」になっているところを「AdHoc Debug」
「Release」も同様に「AdHoc Release」に変更。

2-6) Code Signingの変更

プロジェクトを選択して、「Build Setting」のタブに切り替えて「Code Signing」を変更します。

AdHoc Releaseの「Code Sign」を、「AdHoc Wildcard Provisioning Profile」に紐づいたものに変更します。(赤枠の部分)
Debug,Releaseは変更していませんが、通常であれば、ここにはアプリ固有のAPPIDと関連付けられたApp Store配布用のProvisionig Profileの「Code Sign」がここに指定されます。(青枠の部分)
(具体的には、1-3-2) でAppStore配布用のDistribution用に設定されたものです。)
注意)AdHoc Debugの「Code Sign」をAdHoc用のものにした場合には、Xcodeに接続してのデバックはできなくなりますので、注意してください。 (黄色枠)
指定した場合、Xcodeから「Run」するとアプリ起動と同時にプロセスに接続できないというメッセージと共にアプリが停止します。ただし、アプリのインストールはできるので、単体での実行は可能です。
2-7) Shemeの切り替え
Shemeの切り替えは、以下の部分をクリックして切り替えます。


これで、test AdHocにして作業をすればAdHoc用になりますし、testにすれば、通常の条件での作業が1つのソース&プロジェクトファイルで行えます。
3)配布用ipaファイルの作成&配布
3-1) Schemeの切り替え
Schemeを「test AdHoc」にしてください。
3-2) コンパイル
この状態で、「Menu」→「Product」→「Archive」を選択します。
(通常のBuild&Runが実行できて、Archiveでエラーがでる場合は、プロビジョニングファイル自体に問題があるか、設定が間違っています。)
コンパイルが正常に終わると「オーガナイザ」が起動されます。

「test AdHoc」を選択して「Distribute...」を選択。
3-3) 配布形式の選択

Ad-Hocを選択し、「Next」。
3-4) Code Signingの選択

「AdHoc Wildcard Provisioning Profile」に紐づいた「Code Signing」を選択します。
大抵は、正しく選択されているので、確認のみです。
3-5) 保存

ipaファイルの保存場所のダイアログがでるので、保存します。
3-6) 配布
前の3-5)でできたipaファイルと、1-3-3)で取得したプロビジョニングファイルを一緒にまとめて、ZIP等に圧縮してメール等で添付書類として配布します。
3-7)インストール
ipaファイルとプロビジョニングファイルをPC/MacのiTuneにドラッグ&ドロップ等して読み込ませます。正しく作成されていれば、「test」のアプリがiTuneのアプリ一覧に表示されますので、同期する等してインストールします。
インストールできない&起動できない場合は、ほぼ100% Distribution用プロビジョニングファイル周りがおかしいです。iPhone 構成ユーティリティでプロビジョニングファイルを確認したりしてみるのもいいかもしれません。Xcodeの「Code Signing」の割り付けが正しいかも確認してください。
4)その他
エラーへの対応)
3-4)で選択できない場合等は、プロビジョニングファイルに紐づいているキーチェーンに格納されている開発者自身の証明書が正しくない場合等もあります。これは、開発者の証明書がマスターとなるMacから正しくコピーできていない場合等に発生したりします。
できれば最初に開発者登録をしたマシンのブートイメージは念のためにOS毎バックアップしておくのをお勧めします。キーチェーンに含まれる証明書等のコピーはもれなくすべて保存しておくだけでも十分です。
(キーチェーンはアプリケーション/ユーティリティにあります。)
(Xcode4以前のバージョンでは証明書等の取得は手作業でしたが、現在のXcodeは全部自動で行うため、意識的に証明書等のバックアップを保存しておくのが若干困難になってます。)
通常のXcodeからのアプリの実機起動(Build&Run)はできるが、Archiveの作成に失敗する等の場合もプロビジョニングファイルの証明書が正しくないか、もしくはCode Signingの設定が間違っています。
また、AdHocスキームに切り替えを忘れて、「Achive」→「Distribute...」AdHoc選択した場合もプロビジョニングファイルが一致しなくてうまくいかない場合があります。
AdHoc周りでとにかく動かない場合は、まず、AdHocでない通常スキームで、動作が問題ないことを確認してください。通常スキームで動かない場合は、別の問題の可能性が高いです。
通常スキームで動いて、AdHocスキームが動かない場合で、原因が特定できない場合は、再度、AdHocスキームを「通常スキーム」から「Duplicate」でコピーして再度作り直すとうまくいくことがあります。
AdHocのアプリと通常作成のアプリを交互にテストしていた場合等に起こるのですが、たまにStopを忘れて、そこに他の一方のアプリをインストール&起動した場合、どちらかのタイプのプロセスが残ったままになります。この状態だと、Xcodeから起動しても、画面から通常に起動させても、すぐにアプリが死んでしまいます。こういった場合には、アプリ自体を一旦削除して、電源OFF/ONでおかしくなったアプリのプロセスを停止してください。
配布&インストールについて)
iPhone構成ユーティリティやApple Configurator等を利用するとiOSデバイスの配布管理が少し改善されます。(基本はローカル管理です。リモート管理はできません。)
広告について)
AdHoc配布だとiAdはデモ画面になります。AdMob等はコードで切り替え可能なので、本番の広告の表示が可能です。AdHocの場合でiAdとその他の広告の切り替え動作をみるのでないならば、iAdはOFFにしてしまうのがいいかもしれません。iAdはiTunes App Storeのアプリの審査が通過した後に、iAdの広告の割り付け作業が行われて、はじめて広告が実際に表示されるようになります。(iAdの割り付けが終るとiTunes Connectの通知があります。)
TIPS)
AdHoc用の「Code Signing」は実際に配布の必要がでるギリギリまで割り付けないで作業した方が問題の切り分けがしやすくなります。大体AdHocのリリース時にプロビジョングファイル周りでトラブルが発生するので。
TIPS2)
インストールしたアプリの名前だけでAdHocアプリかどうか判断できるようにする方法。


Packaging→Product Nameの項目を設定すると AdHocの時には、アプリの名前をみるだけで、AdHocでリリースしたものかどうか判断できるようにすることもできます。
上記の例だとXcodeから「Run」してインストールしたAdHocのプログラム名は「test ahd」で、ipaファイルを作成&iTunesを経由してインストールしたものは、「test adr」になります。
注意) 同じiOS Deviceにプログラム名だけが異なっているアプリをインストールする時は必ずアプリを削除してからインストールすること。
AdHoc関連ツール)
iPhone 構成ユーティリティ
Apple Configurator
Apple関連情報)
Apple - サポート - iPhone - エンタープライズ
ビジネスにもiPhoneを
Apple関連 日本語ドキュメント)
「iOSチーム管理ガイド」日本語版
「App Storeへの登録に関するチュートリアル」日本語版
エンタープライズ関連)
iOS Enterprise Developer Program ($299/year)
In-House AppStore for iOS
TestFlight
エンタープライズiOSアプリことはじめ(1) 〜iDEPとDUNSナンバー〜
エンタープライズiOSアプリことはじめ(2) 〜 OTAと構成プロファイルで環境構築 〜
TestFlightの使い方と導入方法
スマートフォン導入企業必見!計33のモバイル端末管理(MDM)製品比較
関連記事)
AdHocでまたはまる
AdHocでハマる
AdHoc配布
iOS開発関係の証明書のバックアップ

プロジェクトを選択して、「Build Setting」のタブに切り替えて「Code Signing」を変更します。

AdHoc Releaseの「Code Sign」を、「AdHoc Wildcard Provisioning Profile」に紐づいたものに変更します。(赤枠の部分)
Debug,Releaseは変更していませんが、通常であれば、ここにはアプリ固有のAPPIDと関連付けられたApp Store配布用のProvisionig Profileの「Code Sign」がここに指定されます。(青枠の部分)
(具体的には、1-3-2) でAppStore配布用のDistribution用に設定されたものです。)
注意)AdHoc Debugの「Code Sign」をAdHoc用のものにした場合には、Xcodeに接続してのデバックはできなくなりますので、注意してください。 (黄色枠)
指定した場合、Xcodeから「Run」するとアプリ起動と同時にプロセスに接続できないというメッセージと共にアプリが停止します。ただし、アプリのインストールはできるので、単体での実行は可能です。
2-7) Shemeの切り替え
Shemeの切り替えは、以下の部分をクリックして切り替えます。


これで、test AdHocにして作業をすればAdHoc用になりますし、testにすれば、通常の条件での作業が1つのソース&プロジェクトファイルで行えます。
3)配布用ipaファイルの作成&配布
3-1) Schemeの切り替え
Schemeを「test AdHoc」にしてください。
3-2) コンパイル
この状態で、「Menu」→「Product」→「Archive」を選択します。
(通常のBuild&Runが実行できて、Archiveでエラーがでる場合は、プロビジョニングファイル自体に問題があるか、設定が間違っています。)
コンパイルが正常に終わると「オーガナイザ」が起動されます。

「test AdHoc」を選択して「Distribute...」を選択。
3-3) 配布形式の選択

Ad-Hocを選択し、「Next」。
3-4) Code Signingの選択

「AdHoc Wildcard Provisioning Profile」に紐づいた「Code Signing」を選択します。
大抵は、正しく選択されているので、確認のみです。
3-5) 保存

ipaファイルの保存場所のダイアログがでるので、保存します。
3-6) 配布
前の3-5)でできたipaファイルと、1-3-3)で取得したプロビジョニングファイルを一緒にまとめて、ZIP等に圧縮してメール等で添付書類として配布します。
3-7)インストール
ipaファイルとプロビジョニングファイルをPC/MacのiTuneにドラッグ&ドロップ等して読み込ませます。正しく作成されていれば、「test」のアプリがiTuneのアプリ一覧に表示されますので、同期する等してインストールします。
インストールできない&起動できない場合は、ほぼ100% Distribution用プロビジョニングファイル周りがおかしいです。iPhone 構成ユーティリティでプロビジョニングファイルを確認したりしてみるのもいいかもしれません。Xcodeの「Code Signing」の割り付けが正しいかも確認してください。
4)その他
エラーへの対応)
3-4)で選択できない場合等は、プロビジョニングファイルに紐づいているキーチェーンに格納されている開発者自身の証明書が正しくない場合等もあります。これは、開発者の証明書がマスターとなるMacから正しくコピーできていない場合等に発生したりします。
できれば最初に開発者登録をしたマシンのブートイメージは念のためにOS毎バックアップしておくのをお勧めします。キーチェーンに含まれる証明書等のコピーはもれなくすべて保存しておくだけでも十分です。
(キーチェーンはアプリケーション/ユーティリティにあります。)
(Xcode4以前のバージョンでは証明書等の取得は手作業でしたが、現在のXcodeは全部自動で行うため、意識的に証明書等のバックアップを保存しておくのが若干困難になってます。)
通常のXcodeからのアプリの実機起動(Build&Run)はできるが、Archiveの作成に失敗する等の場合もプロビジョニングファイルの証明書が正しくないか、もしくはCode Signingの設定が間違っています。
また、AdHocスキームに切り替えを忘れて、「Achive」→「Distribute...」AdHoc選択した場合もプロビジョニングファイルが一致しなくてうまくいかない場合があります。
AdHoc周りでとにかく動かない場合は、まず、AdHocでない通常スキームで、動作が問題ないことを確認してください。通常スキームで動かない場合は、別の問題の可能性が高いです。
通常スキームで動いて、AdHocスキームが動かない場合で、原因が特定できない場合は、再度、AdHocスキームを「通常スキーム」から「Duplicate」でコピーして再度作り直すとうまくいくことがあります。
AdHocのアプリと通常作成のアプリを交互にテストしていた場合等に起こるのですが、たまにStopを忘れて、そこに他の一方のアプリをインストール&起動した場合、どちらかのタイプのプロセスが残ったままになります。この状態だと、Xcodeから起動しても、画面から通常に起動させても、すぐにアプリが死んでしまいます。こういった場合には、アプリ自体を一旦削除して、電源OFF/ONでおかしくなったアプリのプロセスを停止してください。
配布&インストールについて)
iPhone構成ユーティリティやApple Configurator等を利用するとiOSデバイスの配布管理が少し改善されます。(基本はローカル管理です。リモート管理はできません。)
広告について)
AdHoc配布だとiAdはデモ画面になります。AdMob等はコードで切り替え可能なので、本番の広告の表示が可能です。AdHocの場合でiAdとその他の広告の切り替え動作をみるのでないならば、iAdはOFFにしてしまうのがいいかもしれません。iAdはiTunes App Storeのアプリの審査が通過した後に、iAdの広告の割り付け作業が行われて、はじめて広告が実際に表示されるようになります。(iAdの割り付けが終るとiTunes Connectの通知があります。)
TIPS)
AdHoc用の「Code Signing」は実際に配布の必要がでるギリギリまで割り付けないで作業した方が問題の切り分けがしやすくなります。大体AdHocのリリース時にプロビジョングファイル周りでトラブルが発生するので。
TIPS2)
インストールしたアプリの名前だけでAdHocアプリかどうか判断できるようにする方法。


Packaging→Product Nameの項目を設定すると AdHocの時には、アプリの名前をみるだけで、AdHocでリリースしたものかどうか判断できるようにすることもできます。
上記の例だとXcodeから「Run」してインストールしたAdHocのプログラム名は「test ahd」で、ipaファイルを作成&iTunesを経由してインストールしたものは、「test adr」になります。
注意) 同じiOS Deviceにプログラム名だけが異なっているアプリをインストールする時は必ずアプリを削除してからインストールすること。
AdHoc関連ツール)
iPhone 構成ユーティリティ
Apple Configurator
Apple関連情報)
Apple - サポート - iPhone - エンタープライズ
ビジネスにもiPhoneを
Apple関連 日本語ドキュメント)
「iOSチーム管理ガイド」日本語版
「App Storeへの登録に関するチュートリアル」日本語版
エンタープライズ関連)
iOS Enterprise Developer Program ($299/year)
In-House AppStore for iOS
TestFlight
エンタープライズiOSアプリことはじめ(1) 〜iDEPとDUNSナンバー〜
エンタープライズiOSアプリことはじめ(2) 〜 OTAと構成プロファイルで環境構築 〜
TestFlightの使い方と導入方法
スマートフォン導入企業必見!計33のモバイル端末管理(MDM)製品比較
関連記事)
AdHocでまたはまる
AdHocでハマる
AdHoc配布
iOS開発関係の証明書のバックアップ