iPhone/iPad apps を開発している際に結構めんどうなのが、
ad-hoc 作成した後にいちいちテスター一人一人にアーカイブと Provisioning Profile を配布すること。
アップルのサイトに公式なやり方としては書かれてない(と思う)けど、これをネットで配布する事もできるようです。
とりあえずやってみたらできたので、やり方をメモ。
Xcode のバージョンは 4.0(英語バージョン)
ad-hoc バージョン用のパッケージングの方法(デバイスの登録、 Provisioning Profile の作成、コンパイル)はアップルのサイトにも書かれているし、色んなサイトでやり方がのってるので、ここでは省きます。
ここでは通常通り ad-hoc が作成できる所まではできている物とします。
まず、アーカイブ用にビルドします。
Xcode の "Product" > "Build For" > "Build For Archving" でコンパイルをし、次に "Product" > "Archive" でアーカイブを作成します。
作成したアーカイブは、オーガナイザーで確認できます。オーガナイザーは Xcode の "Window" > "Organizer" で開けます。
次にアーカイブの共有ファイルの作成です。
オーガナイザーを開いたら、トップナビから Archives タブを選択して、アーカイブ一覧を開きます。
そしてリストから共有したいアーカイブを選択し、 app の説明の右隅にある "Share..." ボタンをクリックします。
ポップアップが出てきますので、 Contents: iOS App Store Package (.ipa) を選択し、適切な Identity を選択して Next をクリックします。
出てきたファイルダイアログの一番下に、 "Save for Enterprise Distribution" というチェックボックスがあるので、これをチェックしてください。
そうすると、追加の入力フォームが現れます。
Application URL には、 .ipa ファイルを共有する URL を入力します。例えば、 http://www.enjoitech.com/myapp/myapp.ipa
Title には適当な app の名前を入力します。 My App とか。
そして、最後に出力先ディレクトリを選択し、出力ファイル名を指定して Save を押します。
結果として myapp.ipa と myapp.plist ファイルが作成されるはずです。
最後にアーカイブを Web サーバーに配置します。アップロードしなくていけないファイルは以下の4つです。
index.html には、 Provisionin Profile と app のダウンロードに必要な情報を記載します。
例としては以下のような感じです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Install MyApp</title> </head> <body> <a href="myapp.mobileprovision">Provisioning Profile のインストール</a> <a href="itms-services://?action=download-manifest&url=http://www.enjoitech.com/myapp/myapp.plist">MyApp のインストール</a> </body> </html>
これらの4つのファイルを「アーカイブ共有ファイルの作成」で指定した .ipa ファイルの URL と一致するように Web サーバー上の適切な位置に配置します。
これで準備完了です。
最後に、 Safari でデバイスから直接 URL にアクセスし、 Provisioning Profile をインストール、そして app をインストールします。
ad-hoc の作成がきちんとできていて、適切にアーカイブ、配置されていれば、インストールができるはずです。