はまりポイント解説付き iphone adhoc ビルドの方法
いまちょっとした iPhone アプリを開発しています。まだまだ見習い状態で、四苦八苦。
登録した端末(最大100台まで)に限定してアプリをインストールして動かすことができる adhoc ビルドという方法があるのですが、これを成功させるために散々につまづいたポイントとともに方法を記録しておきます。
まず基本は、Apple 公式サイトにある解説に沿ってひとつひとつ手順を踏んでいきます。慣れない最初は、この解説のありかさえわからずウロウロ探し回っていました。
» Apple Developer Connection - iPhone Dev Center - Preparation(Apple Developer Connection に要ログイン)
で解説されている手順に沿っていきます。
- Obtaining your iPhone Distribution Certificate(adhoc 用証明書の取得)
- Create and download your iPhone Distribution Provisioning Profile for App Store Distribution(adhoc 用 Provisioning Profile の作成)
は難なくクリアしたのですが、
- Building your Application with Xcode for Distribution(adhoc 用アプリケーションのビルド)
ではまりました。
第1のはまりポイント: Entitlements.plist: Argument list too long
手順通りやったと思い込み、ビルドしてみると、見事失敗。ビルド結果の画面には
Entitlements.plist: Argument list too long
の文字。too long とあるので、ファイル名が長いのかと思い込み、解説では Entitlements.plist とあるところをすべて dist.plist などと短い名前に変えファイルを作成し直して再ビルド。
第2のはまりポイント: dlist.plist: code object is not signed
すると、今度は
dlist.plist: code object is not signed
というエラーメッセージに変わりました。
なにか根本的な間違いをしているに違いないと、Apple の解説を読み返し読み返しします。
Select the Target and open the Build settings inspector. In the ‘Code Signing Entitlements’ build setting, type in the filename of the new Entitlements.plist file including the extension. There is no need to specify a path unless you have put the Entitlements.plist file somewhere other than the top level of the project.
という解説とともに以下のキャプチャがあるのですが、
これを見て実際に設定したのがこちら↓
英語と日本語の GUI の差に見事にだまされてしまったのですが、正しくは Code Signing Entitlements の部分に *.plist のファイル名を入力しなくてはいけないところを、同じ位置にあるのですが、英語に直せば Other Code Signing Flags となる「その他のコード署名フラグ」という間違ったフィールドにそれを入力していたのでした。
しかし、そうなると Code Signing Entitlements に該当するフィールドがありません。
第3のはまりポイント: ターゲットの情報 > ビルド > コード署名 に Code Signing Entitlements がない
ここでしばし途方にくれてしまいました。いろいろ検索して、助けとなったのが、以下のフォーラム記事。
» Apple - Support - Discussions - [iPhone] Code Signing Entitlements ...
Inside the Target Build Settings->Architecture, Make sure your Base SDK is set to Device and not Simulator.
つまり、以下のキャプチャにある「アーキテクチャ」セクションの「ベース SDK」の値がもともと Simulator - iPhone OS x.x.x となっていたところを Device - iPhone OS に変更したところ、Code Signing Entitlements が現れて *.plist のファイル名が入力できるようになりました。
以上をクリアしてなんとか adhoc ビルドを成功させました。
iPhone 開発、いまのところの印象は、まだまだこなれてない感じで随所に落とし穴満載といった感じですが、うまく動いたときの喜びはその分大きい。
2009/03/23 01:08:54