26.4.12

Об иконках и splash-картинках в AIR iOS приложениях

Только что искал как сделать в pure-AS приложении splah-screen. Наткнулся на вот такую статью в  документации: http://help.adobe.com/en_US/air/build/WS901d38e593cd1bac1e63e3d129907d2886-8000.html#WS901d38e593cd1bac58d08f9112e26606ea8-8000

В Flex у Application есть свойство splashScreenImage. Хочется чтобы в моем flash-приложении при запуске на i-девайсе во время запуска был не серый экран а что-то красивое.

Задача решается добавлением файла в корневую директорию приложения. Для iPhone это Default.png, для iPad - Default-Portrait.png и Default-Landscape.png
Частая ошибка здесь - забыть добавить файл в проект (надо поставить галочку в IDE или указать в параметрах в консоли).

Заодно нашел интересную информацию о том как убрать стандартный блик на иконке.
В дескрипторе в раздел iPhone->InfoAdditions нужно добавить такой текст:

<![CDATA[ 
        <key>UIPrerenderedIcon</key> 
        <true/> 
]]>

Сравните результат (слева с бликом, справа - без :) ):


8.4.12

Запускаем любое приложение на iOS из AIR приложения

Как некоторым известно, на iOS для запуска приложений из других приложений используются url-схемы.
Например, приложение набора номера можно вызвать перейдя по url вида tel:8-800-555-11-22
О том как сделать для своего приложения такую схему я уже писал ранее.
Проблема в том что в AIR приложениях есть ограничения на запуск URL. Можно переходить только по общеизвестным url-схемам типа tel:, mailto:, sms:, http: и т.п.
Чтобы запускать другие приложения (в том числе и свои) я написал расширение (ANE).

Расширение (ane) и библиотеку (swc) можно скачать здесь либо на github вместе с исходниками.

Использовать очень просто: 
подключаем к проекту библиотеку и расширение и пишем в коде когда нужно:


var ulauncher:URLLauncher = new URLLauncher;
ulauncher.launchUrl("myapp:smth");



Если на вашем i-устройстве установлено приложение, обрабатывающее url типа "myapp:...", то оно запустится.
На других платформах исполнение этого кода вызовет ошибку, к сожалению.