僕は発展途上技術者

はまりポイント解説付き 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.


という解説とともに以下のキャプチャがあるのですが、


1.png


これを見て実際に設定したのがこちら↓


2.png


英語と日本語の 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 のファイル名が入力できるようになりました。


3.png


以上をクリアしてなんとか adhoc ビルドを成功させました。


iPhone 開発、いまのところの印象は、まだまだこなれてない感じで随所に落とし穴満載といった感じですが、うまく動いたときの喜びはその分大きい。


プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Scratchで楽しく学ぶ アート&サイエンスRaspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Email: webmaster at champierre dot com

Twitter @jishiha

最近のエントリー

アーカイブ