Перенос Flash'a на iPhone/iPad

image

Какой флешер не хотел бы покрутить свои ваяния на iPhone или iPad?
Простая, казалось бы, процедура всё же содержит немало «подводных камней». Многие не познали счастье наблюдать, как тормозят флеш-приложения на яблочке… Но теперь всё получится, перед вами самое полное прохождение Flash2iOS в сети!

Итак, будем творить добро на Adobe Flash CS5.5. Можно на версиях помладше, но тут без гарантий.

Открываем FLA файл с чем-то красивым.

Выбираем Файл -> Параметры публикации...
Переключаем Проигрыватель на AIR for iOS

image

Дальше переходим в Файл -> Настройки AIR for iOS
С первой вкладкой вы сами разберётесь, переходим на вкладку Развёртывание.

Если вы обладатель сертификата разработчика Apple, то вставляем свои сертификаты, иначе качаем «тренировочные» сертификаты (приложение будет работать только с jailbreak-нутыми устройствами). Подставляем 2 нужных файла, вводим пароль 1234.

image

Когда все настройки завершены, нажимаем Опубликовать. Если повезёт, то через пару минут наблюдений за бегунком выскочит сообщение, что IPA файл удачно создан.
Но у многих людей на этом этапе начинают возникать весёлые проблемы.

Под Windows выскакивает сообщение:

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine


Лечится это только обёрткой для Java, которая была написана этой ночью (скачать и установить, плохо дружит с кириличными путями, поэтому желательно не публиковать IPA из «Моих документов»).

Под OSX может появиться:

Unexpected or unknown element or attribute in the
application descriptor file. ...


Тут вы будете смеяться. Каждый раз надо открывать «неудачный» XML файл в текстовом редакторе и удалять весь таг version (<version>1.0</version>) — потому что ребята забыли написать его обработку!

Далее уже просто. Добавляем получившийся IPA файл в медиатеку iTunes, синхронизируем с устройством, находим на нём иконку (белую, если вы не поставили чего-то) и наслаждаемся занятным зрелищем.

К сожалению, все танцы с настройками аппаратного ускорения пока-что не дают ощутимого визуального эффекта. Будем надеяться, что Adobe днём и ночью трудится над этим аспектом.

Если у кого-то возникли дополнительные трудности с получением результата по теме — давайте обсудим в коментах, добавим материал в пост.

UPDATE: Кстати, существует возможность «заворачивать» в IPA готовые SWF файлы, когда у вас по каким-то причинам нет оригинального FLA (например, экспорт интерактивной вёрстки с InDesign). Это можно сделать с помощью утилиты ADT Helper Tool.

Также эта утилита не требует всего пакета Adobe, для работы ей необходим только AIR SDK, который можно бесплатно скачать тут — www.adobe.com/special/products/air/sdk
Поделиться публикацией

Комментарии 30

    +1
    А можно для тех, кто не в теме — получается, теперь флеш работает на айос или это уже что-то что было давно?
      +2
      Да, эта новость уже старенькая. Если коротко — то чистый флеш всё так же недопущен к iOS, но Adobe разработала технологию превращения флеша в нативное приложение iOS (естественно, там 3-мегабайтный движок упаковывается с полу-скомпилированым флеш-контентом).
        –16
        Да когда же мы его уже наконец закопаем!.. и закопаем ли?
          –12
          Да какой там, если даже ie6 закопать все никак не могут ).
      +15
      Я поражаюсь флешу. Он «дохнет» уже лет 10 как. И всё время что-то происходит, что он воскресает. То AS3, то с 11 версией 3D, теперь вот в ipa вылез. Люблю его, чертяку :-)
        +3
        «Слухи о его смерти были сильно преувеличены...»
        Мне кажется, они еще сильно удивят нас, перекрестив флеш с HTML5.
        • НЛО прилетело и опубликовало эту надпись здесь
            0
            Да Adobe своего не упустит: уже давно говорят о том, что они инструменты для разработки под HTML5 делают. Уверен, что в какой-то момент в том выпадающем списке появится Flash for HTML5 — и все флэшеры не останутся в накладе.
              +2
              Полностью согласен в adobe точно не дураки сидят и то, что все активно нажимают на HTML5 они тоже видят, по этому будут копать в эту сторону активнее. Один в поле не воин, как говорится, какой бы ни был крутой flash, одним adobe не вытянуть против кучи it гигантов.
        +1
        Я вот пока не вижу реальной альтернативы flash/air для GUI приложений. Java и сервелат не предлагать
          0
          > реальной альтернативы flash/air для GUI приложений
          вы сейчас говорите об IOs или вообще?

          А что Qt? Я c IOS дела к сожалению не имел, но насколько мне известно Qt Quick уже неплохо там пашет. Да и лайтхаус допилят тоже в обозримом будущем.

            0
            Та я вообще о всех платформах осмелился заявить :) Да, для iOs есть несколько фреймворков. Как альтернатива ObjectiveC они конечно выигрывают, но по масштабам проникновения на рынок и в умы разработчиков flash еще долго будет лидировать как универсальное, действительно кроссплатформенное решение.
              0
              Еще раз Qt — вполне себе работает и на Win и s MacOS и Linux естественно. Ну и мобильные платформы- Симбиан, Андроид и Иос (последние 2 пока не в полном объеме).

              А гуй на флэше — это мрак, в плане производительности. (достаточно вспомнить системные требования небезызвестного IM на Air)
                0
                Мне кажется вопрос системных требований последнее время несколько переоценен(если это не игра и не сервер). В большинстве случаев, заказчиков больше интересует стоимость времени программистов и дедлайн, чем то, будет ли приложение занимать 0.5 или 5 мб.
          0
          Публикация для iOS требует файлы, которые не установлены. Выйдиите и Adobe Professional и запустите исходный установщик, чтобы убедиться, что все дополнительные компоненты установлены.

          Что с этим делать, как лечить?
            0
            Мне кажется, это может быть связано с редакцией CS. Редакция Design может быть обрубана в плане мобильных устройств.

            Еще по каким-то причинам может отсутсвовать AIR SDK, для начала попробуйте установить его, скачать можно тут.

            Если после этого будет тот же компот, попробуйте утилитку в конце статьи — по идее она с помощью AIR SDK всё делает не хуже Flash'a.

            Ну и последний ход — это установка другой редакции пакета.
            0
            Установить AIR.
            0
            >> Но теперь всё получится, перед вами самое полное прохождение Flash2iOS в сети!

            насчет «самое полное» — это Вы загнули, конечно. Где описание работы с компилятором из-под консоли? Или вы реально думаете, что каждый флешер мира сего работает в Flash IDE? oO

            Как раз таки от проблем с version можно избавиться, собирая приложение вручную, а не доверяя этот важный процесс Flash IDE, которой лично я ничего б лишнего не доверял вообще.

            И, да, оно 2 минуты собирает ipa-шку? Значит в Fast-packaging режиме, в котором по-настоящему ощутить кайф Flash-а на iOS нельзя, так-то.

            P.S. «развертывание» — это круто )
              0
              Мне невольно довелось перелопатить все руководства подобного толка в поисках решения проблем. Но согласен, «самое полное» звучит несколько вызывающе…

              Работа с ADT-компилятором через консоль очень уж муторная — вызов с ключами занимает 3 полные строки. Утилита ADT Helper, упоминание о которой я добавил в конце статьи, имеет интерфейс и функционал не хуже родного Flash'евского и требует только AIR SDK. Спасибо за напоминание об этом факте, докинул его в статью.
              0
              Я вот не понимаю, какая проблема для эппл была сделать официальные «тренировочные» сертификатами :(
                0
                Редиски они! С официальными-тренировочными открылась бы лазейка делать аппы не покупая сертификаты и продавать их в обход AppStore, побоялись видимо.
                  0
                  Ну, надо было делать жесткую привязку ipa к uuid устройства, например. Было бы уже геморройнее распространять приложения.
                    0
                    Кстати да, вариант.
                0
                читали?
                  0
                  буквально за пару минут до прочтения статьи увидел заметку похоже на очередное начало конца
                    0
                      +2
                      И что? mobile flash player пусть дохнет. air — наше всё.
                    0
                    Под Windows выскакивает сообщение:
                    Error occurred during initialization of VM
                    Could not reserve enough space for object heap
                    Could not create the Java virtual machine


                    Это лечится увеличением кэша памяти в preferences->publish cache
                      0
                      К сожалению, этот параметр не имеет ничего общего с размером памяти под виртуальную машину, и его изменения не влияют на эту ошибку (лично проверено).

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое