在应用程序描述符文件中设置 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 以星号结尾,例如 5RM86Z4DJM.*。提供的应用程序 ID 应与您向 Apple 提供的应用程序 ID 通配符模式匹配:

    • 如果您的 Apple 应用程序 ID 是 com.myDomain.*,则应用程序描述符文件中的应用程序 ID 必须以 com.myDomain 开头。您可以指定一个应用程序 ID,例如 com.myDomain.myApp 或 com.myDomain.app22。

    • 如果您的 Apple 应用程序 ID 是 *,则应用程序描述符文件中的应用程序 ID 可以是任何有效字符字符串。

    您可以在 iPhone 开发人员中心 ( 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 。您可以通过调用由 Stage 对象调度的 orientationChanging 事件的 preventDefault() 方法取消自动取向。有关详细信息,请参阅 设置和检测屏幕方向

    在使用“自动方向”时,为获得最佳效果,应按照如下所示设置舞台的 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 开发人员文档。