2011/09/04

tiapp.xmlによるTarget Device Familyの設定

TiStudio で iPhone/iPad 両用のユニバーサルアプリとして Ti のプロジェクトを作成すると、tiapp.xml は
<deployment-targets>
    <target device="mobileweb">false</target>
    <target device="iphone">true</target>
    <target device="ipad">true</target>
    <target device="android">true</target>
    <target device="blackberry">false</target>
</deployment-targets>
というように、target device で、iphone と ipad が true になります。
 その後で、iPhone専用にしようと、TiStudio の編集画面で iPad のチェックを外せば、tiapp.xml の該当箇所は

<deployment-targets>
    <target device="mobileweb">false</target>
    <target device="iphone">true</target>
    <target device="ipad">false</target>
    <target device="android">true</target>
    <target device="blackberry">false</target>
</deployment-targets>
のようになって、確かにiPhone専用になります。
 しかし、GUI設定画面 Overview のチェックボックスではなく、xml 編集画面でテキストとして true を false にすると、Overview でのチェックは確かに外れますが、出来上がったアプリは、元のままのユニバーサルアプリになってしまいます。
 原因を調べてみると、manifest ファイルの #type の設定値がもとのままに( ipad )になっていることがわかりました。manifest ファイル は Overview 画面でチェックを変更したタイミングでしか変更されないようです。
 この状態でアプリをビルドすると、iPhone専用アプリを意図したにもかかわらず、iPadアプリ専用アプリが出来上がってしまったりします。
 TiStudioの tiapp.xml と manifest ファイルの値の取り扱いは、混乱したものになっているので、組み合わせ方によっていろいろな現象が起きそうですので、注意が必要です。
その都度、build.log の内容を確認して、意図した引数が渡されているか、確認するのがよいでしょう。

シミュレータ用ビルド時のbuild.log の例 (L.17あたり)
Script arguments:
    /Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/builder.py
    simulator
    3.2
    /Users/hogehoge/Documents/Titanium Studio Workspace/TestBuildSetting
    com.hoge.testbuildsetting
    TestBuildSetting
    universal  
    iphone

実機テスト用ビルド時のbuild.log の例 (L.17あたり)
Script arguments:
    /Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/builder.py
    install
    4.3
    /Users/hogehoge/Documents/Titanium Studio Workspace/TestBuildSetting
    com.hoge.testbuildsetting
    TestBuildSetting
    AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAA
    hogehoge
    universal
配布用ビルド時のbuild.log の例 (L.17あたり)
Script arguments:
    /Library/Application Support/Titanium/mobilesdk/osx/1.7.2/iphone/builder.py
    distribute
    4.3
    /Users/hogehoge/Documents/Titanium Studio Workspace/TestBuildSetting
    com.hoge.testbuildsetting
    TestBuildSetting
    AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAA
    hogehoge
    /Users/hogehoge/Downloads
    universal












0 件のコメント:

コメントを投稿