Ad Hoc で自作 iPhone アプリを自分の iPhone で使えるようにする

REGISTRATION REPORT


自作アプリを Ad Hoc で配布する

ここでは Xcode3 の頃の Ad Hoc アプリをビルドする方法について記しています。

Xcode4 での Ad Hoc アプリのビルドについては Xcode4 で Ad Hoc アプリをビルドする の方に記していますので、Xcode4 をお使いの場合はそちらを参考にしてみてください。

Ad Hoc 用のプロビジョニングプロファイルを作成する

iPhone Developer Center へログインして iPhone Provisioning Portal へ接続します。

そこで、"Provisioning" から "Distribution" 用の新しいプロファイルを作成します。この時、配布方法として "App Store" ではなく "Ad Hoc" を選択するようにします。

後は、あらかじめ登録しておいた iPhone 機器を選択して、Ad Hoc によるインストールが可能な機器を決定します。

 

作成すると最初は "Pending" ですが、すぐに "Active" になるので、これをダウンロードすれば、Ad Hoc 用のプロビジョニングプロファイルの作成は完了です。

後はこれをダブルクリックして、Xcode に組み込んでおきます。

 

Ad Hoc 用のビルドターゲットを作成する

Xcode で目的の iPhone アプリのプロジェクトを開いたら、アップルメニューの 【プロジェクト】 から 【プロジェクト設定を編集】 を選択します。

【構成】 タブから "Release" を選択して、下の方にある 【複製】 ボタンをクリックすると、"Release のコピー" が出来上がるので、新しい名前として "Ad Hock" などとしておきます。

 

プロジェクトに Entitlements を追加する

Ad Hock で配布するには、まずは Xcode を使用して、目的のアプリケーションのプロジェクトに "Entitlements" を追加する必要があります。

それにはまず Xcode でプロジェクトを開いたら、一番上のプロジェクト名で右クリックして、ポップアップメニューの 【追加】 から 【新規ファイル】 を選択します。

そして "iPhone OS" のグループから "Code Signing" を選択して "Entitlements" を選び、次へ進みます。ファイル名は "AddHockEntitlements.plist" とすれば、これで Entitlements ファイルの作成は完了です。

出来上がった "dist.plist" を選択して、編集ペインに表示された項目の中の "get-task-allow" のチェックを外します。

 

後は、Ad Hoc 用に作成したビルドターゲット "Ad Hock" の 【ビルド】 の設定を調整します。

ここで "Code Signing Entitlements" として、先ほど作成した "AddHockEntitlements.plist" を指定します。

また、"コード署名 ID" の "Any iPhone OS Device" として、先ほど作成して Xcode に組み込んでおいた Ad Hock 用のプロビジョニングプロファイルを選択します。

 

Ad Hoc 用の iPhone アプリを構築する

ここまでできたら、Ad Hoc 用の iPhone アプリのバイナリーを生成します。

ビルドターゲットとして、"Device" の "Ad Hock" を選択します。

そして、通常通りビルドを実行すれば、アプリケーションが生成されます。

 

これで Ad Hoc 用のアプリケーションの準備は完了です。

エラーなくアプリケーションが生成できたら、"Products" フォルダーの中にあるアプリケーション名を右クリックして、ポップアップメニューから "Finder に表示" を選択します。

そして、表示されたアプリケーション (*.app) を iTunes にドラッグアンドドロップして登録します。

この時の注意点としては、この時点では必ず Mac 上の iTunes を使用することと、ドロップする場所は iTunes の左側の青いメニューのどこか、マウスカーソルが + 表示になるところに行います。

正しくドロップできれば、"アプリケーション" のところにアプリケーション名が表示されるので、それを右クリックします。

そして "Finder で表示" を選択すると、"iTunes Music" -> "Mobile Applications" といった感じのフォルダーの中の iPhone/iPod touch アプリケーションファイル (*.ipa) が表示されます。

 

この IPA ファイルと、先ほど作成した Ad Hoc 用のプロビジョニングプロファイルが、Ad Hoc での配布に必要なファイルになりますので、これらをまとめてどこかのフォルダーにコピーします。

 

Add Hoc で iPhone アプリを配布する

iPhone/iPod touch アプリケーションファイル (IPA) と Ad Hoc 用プロビジョニングファイルの準備ができたら、それを用いて iPhone へのインストールを行います。

 

この時注意したいのが、例えば Windows の iTunes をメインに使っていて、開発に Mac を利用しているような場合、アプリケーションの転送を Mac の iTunes を使った同期でやってしまおうとすると、アプリケーションがすべて削除されてしまう場合がありました。

このとき、バックアップから復元しても、アプリケーションは復活しませんでした。

さすがに iPhone からアプリケーションは消えても、メインで使用していた iTunes には残っていたため、そこから iPhone にインストール (転送) しなおすという形でなんとか復帰しましたけど、各アプリケーションで設定していた内容は消えてしまった様子です。

そんなこともありましたので、Ad Hoc によるインストールの際は、必ず次の手順で普段から使用している iTunes にアプリケーションを登録した後、そこから実機へ転送するという形をとるのが良さそうです。

 

iTunes への登録は、Ad Hoc の配布準備で行ったのと手順はほぼ同じです。

メインで使用している iTunes を起動したら、用意した iPhone/iPod touch アプリケーションファイル (IPA) と Ad Hoc 用プロビジョニングファイルとを、iTunes の左側のメニューバーへドラッグアンドドロップで投げ込みます。

すると "iPhone/iPod touch アプリケーション" として、投げ込んだアプリが iTunes の "アプリケーション" の欄に表示されます。

そうしたら、iTunes の左側のメニューの "デバイス" から、使用している iPhone を選択して、【アプリ】 のところで先ほど追加したアプリが登録されてチェックが入っていることを確認したら、【適用】 を押して同期処理を実行します。

これで、アプリケーションが iPhone 実機に登録されて、利用できる状態になりました。