アプリケーション記述ファイルにおける iPhone アプリケーションプロパティの設定

アプリケーション記述ファイルは、アプリケーション名、バージョン、著作権、その他の設定など、アプリケーション全体のプロパティを含む XML ファイルです。

Flash Professional CS5 では、iPhone 設定ダイアログボックスの設定に基づいて、アプリケーション記述ファイルが生成されます。ただし、テキストエディターでアプリケーション記述ファイルを編集することもできます。生成されたアプリケーション記述ファイルには、プロジェクト名に「-app.xml」を追加した名前が付けられます。例えば、HelloWorld プロジェクトには、HelloWorld-app.xml という名前のアプリケーション記述ファイルが生成されます。Flash Professional CS5 の iPhone 設定ダイアログボックスでサポートされていない設定を定義する場合は、アプリケーション記述ファイルを編集します。例えば、InfoAdditions エレメントを定義して、アプリケーションの info.Plist 設定を定義することができます。

重要:Flash Professional CS5 のダイアログボックスが開いている間は、アプリケーション記述ファイルを編集しないでください。アプリケーション記述ファイルの変更内容は、iPhone 設定ダイアログボックスを開く前に保存します。

アプリケーション記述ファイルの例を次に示します。

<?xml version="1.0" encoding="UTF-8"?> 
<application xmlns="http://ns.adobe.com/air/application/2.0"> 
    <id>com.example.HelloWorld</id> 
    <filename>HelloWorld</filename> 
    <name>Hello World</name> 
    <version>v1</version> 
    <initialWindow> 
        <renderMode>gpu</renderMode> 
        <content>HelloWorld.swf</content> 
        <fullScreen>true</fullScreen> 
        <aspectRatio>portrait</aspectRatio> 
        <autoOrients>true</autoOrients> 
    </initialWindow> 
    <supportedProfiles>mobileDevice desktop</supportedProfiles> 
    <icon> 
        <image29x29>icons/icon29.png</image29x29> 
        <image57x57>icons/icon57.png</image57x57> 
        <image512x512>icons/icon512.png</image512x512> 
    </icon> 
    <iPhone> 
        <InfoAdditions> 
            <![CDATA[ 
                <key>UIStatusBarStyle</key> 
                <string>UIStatusBarStyleBlackOpaque</string> 
                <key>UIRequiresPersistentWiFi</key> 
                <string>NO</string> 
            ]]> 
        </InfoAdditions> 
    </iPhone> 
</application>

このアプリケーション記述ファイルの設定の詳細は次のとおりです。

  • <application> エレメントには、iPhone アプリケーションの構築に必要な AIR 2.0 の名前空間を指定する必要があります。

    <application xmlns="http://ns.adobe.com/air/application/2.0">

  • <id> エレメント:

    <id>com.example.as3.HelloWorld</id> アプリケーションを一意に識別するアプリケーション ID。推奨される形式は、「com.company.AppName」などのピリオド区切りの逆 DNS スタイルのストリングです。コンパイラーは、この値を、iPhone アプリケーションのバンドル ID として使用します。

    プロビジョニングファイルが特定のアプリケーション ID に関連付けられている場合は、該当するアプリケーション ID をこのエレメントで使用します。Apple アプリケーション ID の先頭部分(バンドルシード ID と呼ばれる)に割り当てられている文字列は無視します。例えば、プロビジョニングプロファイルのアプリケーション ID が 96LPVWEASL.com.example.bob.myApp の場合、アプリケーション記述ファイルでは、com.example.bob.myApp をアプリケーション ID として使用します。

    プロビジョニングプロファイルで複数の(ワイルドカード)アプリケーション ID を使用できる場合、そのアプリケーション ID の末尾はアスタリスクです(5RM86Z4DJM.* など)。Apple に提供したアプリケーション ID のワイルドカードパターンに一致するアプリケーション ID を指定します。

    • 例えば、Apple アプリケーション ID が com.myDomain.* の場合、アプリケーション記述ファイルのアプリケーション ID は、com.myDomain で始まる必要があります。com.myDomain.myApp または com.myDomain.app22 のようなアプリケーション ID を指定できます。

    • Apple アプリケーション ID が * の場合は、有効な文字であればどのような文字列でもアプリケーション記述ファイルのアプリケーション ID に使用できます。

    プロビジョニングプロファイルに関連付けられている Apple アプリケーション ID(またはアプリケーション ID のワイルドカードパターン)は、iPhone Dev Center(http://developer.apple.com/iphone)で確認できます。iPhone デベロッパープログラムポータルのプロビジョニングセクションに移動してください。

    重要:Apple アプリケーション ID の先頭の文字列は無視してください。Apple ではこの文字列をバンドルシード ID と呼んでいます。例えば、Apple でアプリケーション ID が 5RM86Z4DJM.* と表示されている場合は、5RM86Z4DJM を無視します(これはワイルドカードアプリケーション ID です)。ご使用のアプリケーション ID が Apple では 96LPVWEASL.com.example.bob.myApp と表示されている場合は、96LPVWEASL を無視し、com.example.bob.myApp をアプリケーション ID として使用します。

  • <filename> エレメント:

    <filename>HelloWorld</filename> iPhone インストーラーファイルに使用する名前。ファイル名にはプラス記号(+)を含めないでください。

  • <name> エレメント:

    <name>Hello World</name> iTunes アプリケーションおよび iPhone に表示されるアプリケーションの名前。名前にはプラス記号(+)を含めないでください。

  • <version> エレメント:

    <version>1.0</version> インストールしているアプリケーションのバージョンをユーザーが確認できるようにします。このバージョン番号は、iPhone アプリケーションの CFBundleVersion として使用されます。この番号は、nnnnn[.nn[.nn]] のような形式になります。ここで n は 0 ~ 9 の数値、角括弧はオプションの構成要素を示します。例えば、1、1.0、1.0.1 のようになります。iPhone バージョンには数値および小数点のみを含める必要があります。iPhone バージョンに含めることのできる小数点は 2 つまでです。

  • <initialWindow> エレメントには、アプリケーションの初期画面のプロパティを指定する、次の子エレメントが含まれます。

    <content>HelloWorld.swf</content> iPhone アプリケーションにコンパイルされるルート SWF ファイルを識別します。

    <visible>true</visible> これは必須の設定です。

    <fullScreen>true</fullScreen> アプリケーョンが iPhone の画面全体を使用することを指定します。

    <aspectRatio>portrait</aspectRatio> アプリケーションの起動時の縦横比が横長モードではなく縦長モードであることを指定します。アプリケーションの初期ウィンドウを定義する Default.png ファイルは、この設定にかかわらず、幅 320 ピクセル、高さ 480 ピクセルにする必要があります(iPhone のアイコンと起動画面イメージを参照してください)。

    <autoOrients>true</autoOrients>(オプション)デバイス自体の向きが変わったときに、アプリケーションのコンテンツの向きを自動的に変えるかどうかを指定します。デフォルト値は true です。表示方向の自動変更は、Stage オブジェクトによって送出される orientationChanging イベントの preventDefault() メソッドを呼び出すことによってキャンセルできます。詳しくは、「スクリーンの向きの設定および検出」を参照してください。

    自動回転の使用時に最適な結果を得るために、Stage の align プロパティを次のように設定します。

    stage.align = StageAlign.TOP_LEFT; 
    stage.scaleMode = StageScaleMode.NO_SCALE;

    <renderMode>gpu</renderMode>(オプション)アプリケーションによって使用されるレンダリングモードです。次の 3 つの設定が可能です。

    • cpu - アプリケーションは CPU を使用してすべての表示オブジェクトをレンダリングします。ハードウェアアクセラレーションは使用されません。

    • gpu - アプリケーションは iPhone の GPU を使用してビットマップを合成します。

    • auto - この機能は実装されていません。

    詳しくは、ハードウェアアクセラレーションを参照してください。

  • <profiles> エレメント:

    <profiles>mobileDevice</profiles> モバイルデバイスプロファイルにコンパイルされるようにアプリケーションを制限します。このプロファイルで現在サポートされるのは、iPhone アプリケーションのみです。次の 3 つのプロファイルがサポートされます。

    • desktop - デスクトップ AIR アプリケーションです。

    • extendedDesktop - ネイティブプロセス API のサポートを含むデスクトップ AIR アプリケーションです。

    • mobileDevice - モバイルデバイス用の AIR アプリケーションです。現在サポートされているモバイルデバイスは iPhone のみです。

    アプリケーションを特定のプロファイルに限定すると、他のプロファイルにコンパイルされるのを防ぐことができます。プロファイルを指定しない場合は、これらの任意のプロファイル用にアプリケーションをコンパイルできます。<profiles> エレメントで、複数のプロファイルをスペースで区切って指定することができます。

    必ず、mobileDevice をサポートされるプロファイルとして含めてください(または、<profiles> エレメントを空のままにします)。

  • <icon> エレメントには、アプリケーションで使用するアイコンを指定する、次の子エレメントが含まれます。

    <image29x29>icons/icon29.png</image29x29> スポットライト検索結果で使用するイメージです。

    <image48x48>icons/icon48.png</image48x48> iPad でのスポットライト検索結果で使用するイメージです。

    <image57x57>icons/icon57.png</image57x57> iPhone および iPod Touch のホーム画面で使用するイメージです。

    <image72x72>icons/icon72.png</image72x72> iPad ホーム画面で使用するイメージです。

    <image512x512>icons/icon512.png</image512x512> iTunes アプリケーションで使用するイメージです。

    Packager for iPhone ツールは、アプリケーション記述ファイル内で示される 29、57 および 512 の各種アイコンを使用します。各アイコンはそれぞれ、Icon-Small.png、Icon.png、および iTunesArtwork と呼ばれるファイルにコピーされます。このコピーが行われないようにするには、これらのファイルを直接パッケージします。アプリケーション記述ファイルを格納しているディレクトリにファイルを配置し、正しいファイル名とパスをリストして直接パッケージします。

    512 イメージは、内部テスト専用です。アプリケーションを Apple に送信するときは、512 イメージは別途送信します。このイメージは IPA には含まれません。512 イメージが iTunes で正常に表示されるように指定してから送信してください。

  • <iPhone> エレメントには、iPhone に固有の設定を指定するための、次の子エレメントが含まれます。

    <InfoAdditions></InfoAdditions> アプリケーションの Info.plist 設定として使用するキーと値のペアを指定する、次の子エレメントが含まれます。
    <![CDATA[ 
        <key>UIStatusBarStyle</key> 
        <string>UIStatusBarStyleBlackOpaque</string> 
        <key>UIRequiresPersistentWiFi</key> 
        <string>NO</string> 
    ]]>

    この例では、これらの子エレメントが、アプリケーションのステータスバーのスタイルを設定しています。また、アプリケーションに永続的な Wi-Fi アクセスが不要であることを示しています。

    InfoAdditions の設定は、CDATA タグで囲まれています。

    iPad をサポートするためには、UIDeviceFamily にキーおよび値の設定を含めてください。UIDeviceFamily 設定は string の配列です。各 string ではサポートするデバイスを定義します。<string>1</string> 設定は、iPhone および iPod Touch のサポートを定義します。<string>2</string> 設定は、iPad のサポートを定義します。これらの設定の一方のみを指定した場合、そのデバイス群のみがサポートされます。例えば、次の設定では iPad のサポートのみに限定されます。

    <key>UIDeviceFamily</key> 
        <array> 
            <string>2</string> 
        </array>>

    次の場合は、両方のデバイス群(iPhone/iPod Touch と iPad)のサポートが設定されます。

    <key>UIDeviceFamily</key> 
    <array> 
        <string>1</string> 
        <string>2</string> 
    </array>

    Info.plist のその他の設定について詳しくは、Apple の開発ドキュメントを参照してください。