在應用程式描述器檔案中設定 iPhone 應用程式屬性

應用程式描述器檔案是內含整個應用程式屬性的 XML 檔案,例如其名稱、版本以及其他設定。

Flash Professional CS5 會根據「iPhone 設定」對話方塊中的設定,產生一個應用程式描述器檔案。但您也可以在文字編輯程式中編輯應用程式描述器檔案。Flash Professional 會在專案名稱後方加上 "-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 可識別唯一的應用程式。建議的格式為逗點分隔的反向 DNS 樣式字串,例如 "com.company.AppName" 。編譯器會使用此值做為 iPhone 應用程式的組合 ID。

    如果佈建檔與特定應用程式 ID 關聯,請在此元素使用該應用程式 ID。忽略 Apple 在 Apple 應用程式 ID 開頭指派的字元 (稱為組合種子 ID)。例如,如果佈建描述檔的應用程式 ID 為96LPVWEASL.com.example.bob.myApp,請使用 com.example.bob.myApp 做為應用程式描述器檔案的應用程式 ID。

    如果佈建描述檔允許多個 (萬用字元) 應用程式 ID,則應用程式 ID 會以星號結尾 (such as 5RM86Z4DJM.*)。請提供一個應用程式 ID,此 ID 必須符合您提供給 Apple 的應用程式 ID 萬用字元樣式:

    • 如果您的 Apple 應用程式 ID 為 com.myDomain.*,則應用程式描述器檔案中的應用程式 ID 必須以 com.myDomain 開頭。您可以指定應用程式 ID,例如 com.myDomain.myApp 或 com.myDomain.app22。

    • 如果您的 Apple 應用程式 ID 為 *,則應用程式描述器檔案中的應用程式 ID 可以是任何有效的字元字串。

    您可以在 iPhone Dev Center ( http://developer.apple.com/iphone ) 中找到與佈建描述檔相關的 Apple 應用程式 ID (或萬用字元應用程式 ID 樣式)。移至 iPhone Developer Program Portal,然後移至「Provisioning」區段。

    重要事項: 忽略 Apple 應用程式 ID 前方的字元。Apple 稱此字串為組合種子 ID。例如,如果 Apple 列出您的應用程式 ID 為 5RM86Z4DJM.*,則請忽略 5RM86Z4DJM。這是萬用字元應用程式 ID。如果 Apple 列出您的應用程式 ID 為 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 版本最多可包含兩個小數點。

  • <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 。您可以呼叫 orientationChanging 事件的 preventDefault() 方法,取消自動方向。由 Stage 物件傳送。如需詳細資訊,請參閱 設定以及偵測螢幕方向

    使用自動方向時,如果要得到最佳結果,請將舞台的 align 屬性設定成以下項目:

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

    <renderMode>gpu</renderMode> (選擇性) 應用程式使用的顯示模式。目前有三種可能的設定:

    • cpu :應用程式使用 CPU 來顯示所有顯示物件。不使用硬體加速。

    • gpu :應用程式使用 iPhone GPU 來複合點陣圖。

    • auto :此功能尚未實際應用。

    如需詳細資訊,請參閱 硬體加速

  • <profiles> 元素:

    <profiles>mobileDevice</profiles> 限制應用程式只能編譯成行動裝置描述檔。此描述檔目前只支援 iPhone 應用程式。目前有三種支援的描述檔:

    • desktop :桌上型 AIR 應用程式。

    • extendedDesktop :支援原生程序 API 的桌上型 AIR 應用程式。

    • mobileDevice :行動裝置專用的 AIR 應用程式。目前,iPhone 是唯一支援的行動裝置。

    限制應用程式只能編譯成特定的描述檔,避免其被編譯成其他描述檔。如果您未指定描述檔,則可以將應用程式編譯成任何描述檔。您可以在 <profiles> 元素中逐一列出描述檔並以空格區隔,如此便能指定多個描述檔。

    請務必包含 mobileDevice 做為支援的描述檔 (或讓 <profiles> 元素空白)。

  • <icon> 元素包含以下的子元素,這些元素可指定應用程式使用的圖示:

    <image29x29>icons/icon29.png</image29x29> 這是用於 Spotlight 搜尋結果的影像。

    <image48x48>icons/icon48.png</image48x48> 這是用於 iPad 上 Spotlight 搜尋結果的影像。

    <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>1</string> 設定定義支援 iPhone 與 iPod Touch。 <string>2</string> 設定定義支援 iPad。 <string>3</string> 設定定義支援 tvOS。如果僅指定其中一個字串,則只會支援該裝置系列。例如,下列設定僅支援 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 開發人員文件。