Настройка свойств приложения iPhone в файле дескриптора приложения

Файл дескриптора приложения представляет собой файл XML, содержащий свойства для всего приложения, такие как его имя, версия, авторские права и другие настройки.

Flash Professional CS5 генерирует файл дескриптора приложения на базе настроек, заданных в диалоговом окне «Настройки iPhone». Но файл дескриптора приложения можно отредактировать в текстовом редакторе. Flash Professional генерирует имя для файла дескриптора приложения, добавляя «-app.xml» к имени проекта. Например, файл дескриптора приложения для проекта HelloWorld получает имя HelloWorld-app.xml. Внесите изменения в файл дескриптора приложения, если требуется определить настройки, которых нет в диалоговом окне «Настройки iPhone» во Flash Professional CS5. Например, можно определить элемент 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>

Ниже приводятся подробные сведения о настройках в этом файле дескриптора приложения.

  • Для создания приложений iPhone в элементе <application> необходимо указать пространство имен AIR 2.0

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

  • Элемент <id> :

    <id>com.example.as3.HelloWorld</id> Идентификатор приложения уникален для данного приложения. Рекомендуемым форматом является обратная запись строки DNS с использованием точки в качестве разделителя, например "com.company.AppName" . Компилятор использует это значение в качестве идентификатора пакета для приложения iPhone.

    Если файл обеспечения привязан к какому-либо идентификатору приложения, укажите идентификатор в этом элементе. Не указывайте символы, стоящие в начале идентификатора приложения Apple (идентификатор начального числа пакета). Например, если идентификатор приложения профиля обеспечения — 96LPVWEASL.com.example.bob.myApp, укажите в файле дескриптора только com.example.bob.myApp.

    Если в файле обеспечения разрешено использовать подстановочные шаблоны, идентификатор приложения заканчивается звездочкой (например, 5RM86Z4DJM.*). Укажите идентификатор приложения, соответствующий подстановочному шаблону, указанному в заявке на получение файлов у компании Apple.

    • Если ваш идентификатор приложения Apple — com.myDomain.*, идентификатор приложения в файле дескриптора должен начинаться с com.myDomain. Идентификатором приложения может быть, например, com.myDomain.myApp или com.myDomain.app22.

    • Если идентификатор приложения Apple — *, идентификатором приложения в файле дескриптора может быть любая строка действительных символов.

    В центре разработчиков iPhone можно найти идентификатор приложения Apple (или подстановочный шаблон идентификатора приложения), связанный с профилем обеспечения ( http://developer.apple.com/iphone ). Перейдите на портал программы разработчиков iPhone, затем в раздел Provisioning (Обеспечение).

    Важно! Пропустите символы в начале идентификатора приложения Apple. В терминологии Apple эта часть строки называется идентификатором начального числа пакета. Например, если Apple отображает ваш идентификатор приложения как 5RM86Z4DJM.*, пропустите 5RM86Z4DJM — это подстановочный шаблон идентификатора приложения. Если Apple отображает ваш идентификатор приложения как 96LPVWEASL.com.example.bob.myApp, пропустите 96LPVWEASL и укажите только com.example.bob.myApp.

  • Элемент <filename> :

    <filename>HelloWorld</filename> Это имя, используемое для файла программы установки iPhone. Не используйте знак плюса (+) в имени файла.

  • Элемент <name> :

    <name>Hello World</name> Имя приложения, отображаемое в iTunes и на iPhone. Не используйте знак плюса (+) в имени.

  • Элемент <version> :

    <version>1.0</version> Помогает пользователям определить, какую версию приложения они устанавливают. Она используется как версия пакета CFBundleVersion приложения iPhone. Она должна иметь такой формат, как nnnnn[.nn[.nn]], где n — это цифра 0-9, а в квадратные скобки заключены дополнительные компоненты, такие как 1, 1.0 или 1.0.1. Версии iPhone должны содержать только цифры и десятичные точки. Версии iPhone могут содержать не более двух десятичных точек.

  • Элемент <initialWindow> содержит следующие дочерние элементы для определения свойств начального экрана приложения.

    <content>HelloWorld.swf</content> Определяет корневой SWF-файл для компиляции приложения iPhone.

    <visible>true</visible> Это обязательная настройка.

    <fullScreen>true</fullScreen> Указывает, что приложение использует весь экран iPhone.

    <aspectRatio>portrait</aspectRatio> Указывает, что в качестве исходного соотношения сторон используется книжная ориентация (а не альбомная). Обратите внимание, что файл Default.png, используемый для определения начального экрана должен иметь ширину 320 пикселей и высоту 480 пикселей независимо от этой настройки. (См. раздел « Значок iPhone и изображения начального экрана ».)

    <autoOrients>true</autoOrients> (Необязательно) Указывает, изменяется ли автоматически ориентация содержимого в приложении при изменении физического положения самого устройства. Значение по умолчанию — true . Чтобы отменить автоматическую ориентацию, вызовите метод preventDefault() для события orientationChanging , отправляемое объектом Stage. Дополнительные сведения см. в разделе Установка и обнаружение ориентации экрана .

    При использовании автоматической установки ориентации для получения наилучших результатов задайте для свойства align объекта Stage следующие значения:

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

    <renderMode>gpu</renderMode> (Необязательно) Режим визуализации, используемый приложением. Может использоваться одно из трех значений.

    • cpu : приложение использует центральный процессор для визуализации всех экранных объектов. Аппаратное ускорение не используется.

    • gpu : приложение использует графический процессор iPhone для совмещения растровых изображений.

    • auto : эта функция не реализована.

    Дополнительные сведения см. в разделе « Аппаратное ускорение ».

  • Элемент <profiles> :

    <profiles>mobileDevice</profiles> Устанавливает ограничения для приложения, чтобы оно компилировалось в профиль мобильного приложения. Этот профиль в настоящее время поддерживает только приложения iPhone. Имеется три поддерживаемых профиля:

    • desktop : приложение AIR для компьютера;

    • extendedDesktop : приложение AIR с поддержкой API собственных процессов;

    • mobileDevice : приложение AIR для мобильных устройств. В настоящее время единственным поддерживаемым устройством является iPhone.

    Назначение для приложения определенного профиля предотвращает его компиляцию с использованием остальных профилей. Если профиль не задан, то компиляция приложения может выполняться для любого профиля. Можно задать несколько профилей, перечислив их в элементе <profiles> и разделяя пробелами.

    Обязательно включите mobileDevice в качестве поддерживаемого профиля (или оставьте элемент <profiles> пустым).

  • Элемент <icon> содержит следующие дочерние элементы для определения значков, используемых приложением:

    <image29x29>icons/icon29.png</image29x29> Это изображение, используемое в результатах поиска Spotlight.

    <image48x48>icons/icon48.png</image48x48> Это изображение, используемое в результатах поиска Spotlight на 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-файл. Укажите его, чтобы перед окончательной отправкой убедиться, что оно будет хорошо выглядеть в приложении 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.