TitaniumMobile勉強記

Web系エンジニア向けのキャリアアドバイザーやってましたが現在はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連(Node.js、Titanium)あたり

実機への転送方法わかったので、簡単にまとめを。

前回書いたエントリから色々調べた結果、転送方法がわかったので、自分のために簡単にまとめを。

うまくいかなかった原因

すべての原因はAppIDの作成方法について自分がしっかり理解してなかったから・・

どこを誤解していて、解決にむかったのか

Titanium Studioのtiapp.xmlで設定するApplication IDを

  • 自分が作成するアプリケーションの名前(reader4asunaro)を入力する
  • Appleのdeveloperサイトで登録した際にランダムに生成される文字列を入力する
  • Appleのdeveloperサイトで登録した際にランダムに生成される文字列+Bandle Identifier(App ID Suffix)も含めて入力する

などとやっていましたが、以下の2つを読んだことでこの点誤解していたことが判明

すべてのソフトウェアに対して、ひとつひとつApp ID と provisioning file を割り当てることも出来ます。
上記で言えば、App ID を生成するときの『Bandle Identifier(App ID Suffix)』をjp.tusk.testCocosAp1にして、そのApp ID に紐づいたprovisioning file を生成してダウンロード、インストールすればいいのです。

が、これは現実的ではないので、『Bandle Identifier(App ID Suffix)』を設定するとき、ワイルドカードが使えるようになっています。

なので、iPhone developer connection で App ID を生成するとき、
『Bandle Identifier(App ID Suffix)』 を、『jp.tusk.*』と設定して、それを元にプロビジョニングファイルを作るわけです。
そうすることにより、ソフトウェアのIDが、
『jp.tusk.testCocosAp1』でも『jp.tusk.newGame』でも大丈夫になるわけです。
cocos2dを使ったiPhoneアプリ制作を解説してみる プロビジョニングファイルエラーより

Titanium Studioでプロジェクトを作る時にApplication IDを入れるんですが、ここにApp IDを設定していました。
僕の場合、App IDにアスタリスクを付けていたのでこれがダメだったようです。
Titanium Studioで実機に転送できないより

アプリケーションの名前ではなく、すべてのソフトウェアに対して唯一となる識別子となるBandle Identifier(App ID Suffix)を入力しないといけなかったのですね・・

App IDの作成やりなおし

AppIDを最初から作り直すことにしました。とりあえずdeveloperサイトに行って以下の赤枠で囲った所をクリック
config001
すると、AppIDの作成画面になる。

  • アプリケーションの名前:asunaro
  • Bandle Identifier(App ID Suffix):jp.co.xxxx.xxxx.reader4asunaro

という感じで以下の2つの赤枠に入力しました
config002

前回書いたエントリでも触れましたが、
iOS Provisioning Portalからダウンロードして出来たファイルを何故かTitaniumStudioでは読み取ってくれないので、
Users/xxxxxxxx/Library/MobileDevice/Provisioning Profiles/フォルダ配下にリネームして配置しなおして、再度転送を試みたら無事できましたーー