Привет!
Прошло не так много времени с тех пор, как Flash стал доступен на яблочных мобильных устройствах. Судя по мануалу из официального пэкэджера от Adobe, сборка Flash-приложения на iPhone — достаточно тривиальная задача.
Однако, дела с iPad обстоят не так, как хотелось бы.
В статье приведен тайный рецепт, как создать Flash-приложение именно под iPad.
Чтобы наше приложение можно было залить через iTunes на девайс или разместить его на AppStore, нам нужно сформировать IPA-файл. Для этого необходимо скачать, указанный официальный пэкэджер, проследовать указанной в нём инструкции, согласно которой нам понадобится обычный скомпиленный SWF нашего приложения, сгенерированный .mobileprovision и .p12 подпись.
Чтобы упаковщику стало ясно, как сделать сборку, создаётся дескриптор приложения application.xml.
Отмечу, что Flex-фреймворк использовать не удастся, пэкэджер упадёт с крешем. Не исключено, что существуют решения, однако мне о них пока неизвестно.
А вот она проблема:

Дело в том, что приложение, собранное под iPhone, будет занимать на iPad размер экрана iPhone, т.е. совсем не ожидаемые 1024х768, даже если указать явно размер initialWindow в дескрипторе или stage. Если нажать кнопочку (2х), у нас появятся артефакты в виде растянутых пикселей, т.е. разрешение остаётся всё равно iPhone'овским.
—… Если развернуть на полную то там заметен растр или нормально отмасштабировалось?
— Заметен.
— *ц какойто хоть к тебе езжай! Ща оденусь — приеду.
— Давай.
В час ночи, я и боевой товарищ kivsiak приступили к решению проблемы путём парного программирования, мозгового штурма, гугла и пива.
Не прошло и четырёх часов, как универсальная панацея была создана. Вся проблема крылась в плохо документированном параметре дескриптора, который называется iPhone. Прописав его таким образом, мы получим долгожданное, полноэкранное приложение под iPad, которое выглядит совсем, как нативное!
Вот тайный рецепт.
И вот она ня-ка…

Исходный код проекта с панацеей, билд-файлом Ant для сборки находится по этой ссылке на депозитах.
Само тестовое приложение было взято из статьи Кристиана Кантрелла, в которой автор хоть и пытался показать как решается эта проблема, но у него не получилось.
Не забываем также, что в libs проекта нужно добавить AIR SDK, иначе код от Кристиана у вас не скомпилируется.
В билд-файле необходимо скорректировать пути, вписать ваш Application ID, прописать store pass от сертификата, а также залить .p12 и .mobileprovision. Цель Ant'а pack-ipa соберёт IPA файл (ad-hoc) для iPad'а, который будет готов для заливки на iPad. Не забудьте сохранить рядом с ним файл .mobileprovision. Для использования в продакшене, необходимо заменить символы ipa-ad-hoc в build.xml на ipa-app-store.
В случае с ipa-ad-hoc формирование пакета IPA займет от 16 до 25(!) минут.
Кстати, IPA это обычный ZIP-архив.
Для скачивания:
— Упаковщик SWF в IPA от Adobe.
— AIR SDK.
Ссылки по теме:
— Делаем iphone приложение на Flash CS5
— Writing multiscreen AIR apps
— Ветка на форумах Adobe, порожденная kivsiak'ом после выпитого пива и синтезированного рецепта. Рекомендую отписывать в неё вопросы, т.к. это не будет не замечено зарубежным сообществом Adobe, где разработка под iPad идёт уже вовсю.
— Running iPhone apps on the iPad (without the Pixeling!) — ужасный неработоспособный хак, который навёл нас на верный путь
На «загладку»: Space On-Air — простенькая игрушка, написанная на Flash под iPhone — потехи ради.
Прошло не так много времени с тех пор, как Flash стал доступен на яблочных мобильных устройствах. Судя по мануалу из официального пэкэджера от Adobe, сборка Flash-приложения на iPhone — достаточно тривиальная задача.
Однако, дела с iPad обстоят не так, как хотелось бы.
В статье приведен тайный рецепт, как создать Flash-приложение именно под iPad.
Упаковка IPA
Чтобы наше приложение можно было залить через iTunes на девайс или разместить его на AppStore, нам нужно сформировать IPA-файл. Для этого необходимо скачать, указанный официальный пэкэджер, проследовать указанной в нём инструкции, согласно которой нам понадобится обычный скомпиленный SWF нашего приложения, сгенерированный .mobileprovision и .p12 подпись.
Чтобы упаковщику стало ясно, как сделать сборку, создаётся дескриптор приложения application.xml.
Отмечу, что Flex-фреймворк использовать не удастся, пэкэджер упадёт с крешем. Не исключено, что существуют решения, однако мне о них пока неизвестно.
Проблема
А вот она проблема:

Дело в том, что приложение, собранное под iPhone, будет занимать на iPad размер экрана iPhone, т.е. совсем не ожидаемые 1024х768, даже если указать явно размер initialWindow в дескрипторе или stage. Если нажать кнопочку (2х), у нас появятся артефакты в виде растянутых пикселей, т.е. разрешение остаётся всё равно iPhone'овским.
Универсальное решение
—… Если развернуть на полную то там заметен растр или нормально отмасштабировалось?
— Заметен.
— *ц какойто хоть к тебе езжай! Ща оденусь — приеду.
— Давай.
В час ночи, я и боевой товарищ kivsiak приступили к решению проблемы путём парного программирования, мозгового штурма, гугла и пива.
Не прошло и четырёх часов, как универсальная панацея была создана. Вся проблема крылась в плохо документированном параметре дескриптора, который называется iPhone. Прописав его таким образом, мы получим долгожданное, полноэкранное приложение под iPad, которое выглядит совсем, как нативное!
Вот тайный рецепт.
- <?xml version="1.0" encoding="utf-8"?>
- <application xmlns="http://ns.adobe.com/air/application/2.0">
- <id>ru.your.application.id</id>
- <filename>yourFileNameForApplication</filename>
- <name>yourApplication</name>
- <version>1.0</version>
- <supportedProfiles>desktop mobileDevice</supportedProfiles>
- <initialWindow>
- <content>release/yourSWFFile.swf</content>
- <transparent>false</transparent>
- <visible>true</visible>
- <fullScreen>true</fullScreen>
- <autoOrients>true</autoOrients>
- <aspectRatio>landscape</aspectRatio>
- <renderMode>cpu</renderMode>
- <width>1024</width>
- <height>768</height>
- </initialWindow>
- <iPhone>
- <InfoAdditions>
- <![CDATA[
- <key>UIDeviceFamily</key>
- <array>
- <integer>1</integer>
- <integer>2</integer>
- </array>
- ]]>
- </InfoAdditions>
- </iPhone>
- </application>
* This source code was highlighted with Source Code Highlighter.
И вот она ня-ка…

Исходный код проекта с панацеей, билд-файлом Ant для сборки находится по этой ссылке на депозитах.
Само тестовое приложение было взято из статьи Кристиана Кантрелла, в которой автор хоть и пытался показать как решается эта проблема, но у него не получилось.
Не забываем также, что в libs проекта нужно добавить AIR SDK, иначе код от Кристиана у вас не скомпилируется.
В билд-файле необходимо скорректировать пути, вписать ваш Application ID, прописать store pass от сертификата, а также залить .p12 и .mobileprovision. Цель Ant'а pack-ipa соберёт IPA файл (ad-hoc) для iPad'а, который будет готов для заливки на iPad. Не забудьте сохранить рядом с ним файл .mobileprovision. Для использования в продакшене, необходимо заменить символы ipa-ad-hoc в build.xml на ipa-app-store.
В случае с ipa-ad-hoc формирование пакета IPA займет от 16 до 25(!) минут.
Кстати, IPA это обычный ZIP-архив.
Для скачивания:
— Упаковщик SWF в IPA от Adobe.
— AIR SDK.
Ссылки по теме:
— Делаем iphone приложение на Flash CS5
— Writing multiscreen AIR apps
— Ветка на форумах Adobe, порожденная kivsiak'ом после выпитого пива и синтезированного рецепта. Рекомендую отписывать в неё вопросы, т.к. это не будет не замечено зарубежным сообществом Adobe, где разработка под iPad идёт уже вовсю.
— Running iPhone apps on the iPad (without the Pixeling!) — ужасный неработоспособный хак, который навёл нас на верный путь
На «загладку»: Space On-Air — простенькая игрушка, написанная на Flash под iPhone — потехи ради.