11 июня 2013 г. Встречайте Flash Player 11.7 и AIR 3.7. Это плановое обновление. Данный выпуск содержит исправления нескольких ошибок и улучшения безопасности.

Исправленные ошибки

  • Камера не работает для stageVideo (iOS) (3558247)
  • Нет возможности отключить аппаратное ускорение (3560209)
  • Нет возможности использовать аудиоформат WAV в качестве резервного варианта (3553459)

Новые возможности

В этом выпуске нет новых функций. 
 
В выпуске Flash Player от 9 апреля 2013 г.
Новые возможности:
  • Улучшения работы в песочнице
  • Предотвращение резервного копирования iCloud для объектов с общим доступом (iOS)
  • Включение режима визуализации с использованием центрального процессора для выбранных устройств (iOS)
  • Внешнее размещение вторичных SWF-файлов (iOS)
  • Библиотека Game Input API (Android)
 
Полный список функций Flash Player и AIR, в том числе функции предыдущих выпусков, можно найти в этом документе.
 

Выпущенные версии

Выпуск Текущая версия
 Flash Player Desktop (Mac)  11.7.700.225
 Flash Player Desktop (Win)  11.7.700.224
 AIR Desktop (Mac)  3.7.0.2100
 AIR Desktop (Win)  3.7.0.2090
 AIR Mobile  3.7.0.2090
 AIR SDK & Compiler (Mac)  3.7.0.2100
 AIR SDK & Compiler (Win)  3.7.0.2090

Выявленные неполадки

  • С некоторыми новыми драйверами графических процессоров AMD визуализация выполняется некорректно в определенных ситуациях (3431502)
  • Невозможно использовать веб-камеру совместно с Microsoft Kinect (3482709)
  • В AIR for iOS не удается добавить в пакет локализованные имена SWF-файлов (3518195)
  • В AIR for iOS передача фокуса компоненту Spark TextArea может приводить к усечению текста (3514889)
  • При наличии длинного описания приложения в диалоговом окне установки AIR кнопки могут быть невидимыми (3515305)
  • Небольшая задержка при циклическом воспроизведении видео в FLVPlayback (3515066)
  • Большие растровые изображения, отображаемые с уменьшением масштаба, некорректно отрисовываются при публикации (3520589)
  • В AIR пользовательские элементы контекстного меню генерируют избыточные события (3493614)
  • В браузере Chrome не удается переключить микрофоны во время выполнения (3493587)
  • В браузере Internet Explorer при прокручивании содержимого Flash за пределы видимой области, может искажаться звук (3520586)
  • Звук AAC искажается при подключении микрофона с функцией AEC (3523551)

Улучшения безопасности

Бюллетень безопасности Затронутые продукты
 APSB13-16  Flash Player Desktop Windows® и Mac
 APSB13-16  Flash Player AndroidTM

Новые возможности: рекомендации по использованию

Предотвращение резервного копирования iCloud для объектов с общим доступом (iOS)

В настоящее время в приложениях AIR для iOS у разработчиков отсутствует способ предотвращения резервного копирования данных общих локальных объектов службой Apple iCloud. В AIR 3.7 в класс ActionScript SharedObject добавлено новое статическое свойство «preventBackup», позволяющее разработчикам обойти это ограничение. Это свойство можно использовать только с пространствами имен версии 3.7 или более поздней (swf-version=>20). Установка этого свойства в значение «истина» предотвратит резервное копирование всех общих объектов. По умолчанию значение этого свойства — «ложь». Данное свойство будет работать только на устройствах с ОС iOS 5.1 или более поздней версии.

var mySO:SharedObject;
mySO = SharedObject.getLocal("test");
mySO.data.userName = "developer";
mySO.data.itemNumbers = new Array(1,2,3);
SharedObject.preventBackup = true;
mySO.flush();


Использование визуализации с помощью CPU на выбранных устройствах и визуализации с помощью GPU на остальных устройствах (iOS)

Для устройств iOS был добавлен новый тег <forceCPURenderModeForDevices>, который позволяет принудительно включить режим визуализации с помощью CPU для выбранных устройств iOS, оставив режим визуализации (renderMode) GPU для остальных устройств. Эта функция может быть использована в случае, когда режим визуализации с помощью графического процессора приводит к нехватке памяти на устройствах с более простым оборудованием (например, iPad 1 или iPod 4).
Это значит, что если указать <renderMode> GPU </renderMode> и <forceCPURenderModeForDevices> iPhone1 iPad1 </forceCPURenderModeForDevices>, то на всех устройствах iOS, отличных от iPad1 и iPhone1 параметр renderMode будет иметь значение «GPU». 
Обратите внимание, что этот тег в настоящее время применяется только к ОС iOS. Данный тег необходимо размещать в разделе параметров, специфических для платформы, под тегом iPhone.

<iPhone>
    <InfoAdditions>
      <![CDATA[
         <key>UIDeviceFamily</key>
         <array>
           <string>1</string>
           <string>2</string>
         </array>
         <key>UIStatusBarStyle</key>
         <string>UIStatusBarStyleBlackOpaque</string>
         <key>UIRequiresPersistentWiFi</key>
         <string>YES</string>
      ]]>
    </InfoAdditions>
    <forceCPURenderModeForDevices> iPhone3,1 iPad </forceCPURenderModeForDevices>
</iPhone>


Под тегом iPhone добавлен тег <forceCPURenderModeForDevices>, содержащий список моделей устройств, разделенных пробелами. Примеры допустимых наименований моделей приведены ниже.

"iPod4,1"   // iPod Touch Fourth Generation
"iPod5,1"   // iPod Touch Fifth Generation
"iPhone2,1" // iPhone 3GS
"iPhone3,1" // iPhone 4
"iPhone3,2" // iPhone 4 CDMA
"iPhone4,1" // iPhone 4S
"iPhone5,1" // iPhone 5
"iPad1,1"   // iPad
"iPad2,1"   // iPad 2
"iPad2,2"   // iPad 2 (GSM)
"iPad2,3"   // iPad 3 (CDMA)
"iPad2,4"   // iPad 3 (CDMAS)
"iPad2,5"   // iPad Mini Wifi
"iPad3,1"   // iPad 3 (WIFI)
"iPad3,2"   // iPad 3 (CDMA)
"iPad3,3"   // iPad 3 GSM
"iPad3,4"   // iPad 4 (Wifi)


Внешнее размещение вторичных SWF-файлов (iOS)

Разработчики приложений теперь могут размещать вторичные SWF-файлы на внешнем сервере и загружать их по требованию в соответствии с логикой приложения. Вторичный SWF-файл, содержащий любой код ABC в режиме AOT, который ранее работал в локально-упакованном SWF-файле, теперь будет работать и в случае внешней загрузки SWF.
Разработчику нужно будет изменить адрес URLRequest загрузчика адресом внешнего очищенного SWF. Пример URL-запроса для случая использования этой функции приведен ниже.

private var externalSwfUrl:String= "http://www.xyz.com/ExternalSwf.swf";
private var urlRequest:URLRequest = new URLRequest(externalSwfUrl);

Чтобы включить данную функцию, необходимо указать текстовый файл, содержащий подробную информацию о SWF-файлах, которые должны быть очищены и размещены на внешнем сервере. В этом текстовом файле разработчик должен указать пути к SWF-файлам (по одному на строке) с внешним размещением. Пример текстового файла с перечислением SWF-файлов приведен ниже.

assets/Level1.swf
assets/Level2.swf
assets/Level3/asset/Level3.swf

Ссылку на этот текстовый файл нужно добавить в тег <externalSwfs>, вложенный в тег <iPhone> дескриптора приложения, как показано ниже.

<iPhone>
       .
       .
       <externalSwfs>assets/SampleSWFInfoFile.txt</externalSwfs>
       .
       .
</iPhone>

Во время создания пакета ADT разработчику необходимо указать данный текстовый файл, как обычный ресурс, вместе с набором SWF-файлов, перечисленных в текстовом файле. Пример команды ADT для случая использования этой функции приведен ниже.

adt -package -target ipa-app-store -provisioning-profile <Provisioning Profile> -storetype pkcs12 -keystore <Certificate> -storepass <Password> ResultantIPA.ipa SampleMainSwf-app.xml SampleMainSwf.swf assets/SampleSWFInfoFile.txt assets/Level1.swf assets/Level2.swf assets/Level3/asset/Level3.swf

В ходе создания пакета IPA ADT извлекает код ActionScript из всех дочерних SWF-файлов, указанных в текстовом файле, добавляет его к окончательному исполняемому файлу и переносит очищенные SWF-файлы в подпапку «externalStrippedSwfs» текущего рабочего каталога. Структура каталогов внутри папки «externalStrippedSwfs» совпадает с той, которая указана в текстовом файле. Сгенерированный очищенный SWF-файл можно разместить на внешнем веб-сервере.
Ниже приведен работающий пример кода ActionScript, загружающий с внешнего сервера вторичный SWF-файл, который получен с использованием описанной выше процедуры.

package
{
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.net.URLRequest;
    import flash.system.ApplicationDomain;
    import flash.system.LoaderContext;
 
    public class SampleMainSwf extends Sprite
    {
        private var externalLoader:Loader;
        private var url:String= "http://www.xyz.com/Level1.swf";
        private var urlRequest:URLRequest = new URLRequest(url);
        private var ldrContext:LoaderContext;
 
        public function SampleMainSwf()
        {
            externalLoader = new Loader();
            externalLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
            externalLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,errorHandler);
            ldrContext=new LoaderContext(false,ApplicationDomain.currentDomain,null);
 
            try
            {
                externalLoader.load(urlRequest, ldrContext);
            }
            catch(e:Error)
            {
                trace("Error ID : "+e.errorID+"\nError Message : "+e.message);
            }
        }
 
        private function completeHandler(e:Event):void
        {
            addChild(externalLoader);
        }
 
        private function errorHandler(e:IOErrorEvent):void
        {
            trace("In IO ErrorEvent Handler");
        }
 
    }
}

Примечание.
1. В текущих выпусках Flash Builder 4.7/Flash Professional CS6 эта функция не поддерживается. Для того чтобы разрешить создание очищенных SWF-файлов, предназначенных для размещения на внешнем сервере, необходимо использовать средства командной строки для создания пакетов ADT.
2. Загрузка вторичных SWF-файлов Flex вызывает неожиданное завершение приложения.

Библиотека GameInput API (Android)

Библиотека GameInput API предоставляет приложениям интерфейс для взаимодействия с подсоединенными игровыми устройствами ввода (джойстиками, геймпадами, рукоятками и т. п.). Существует широкий спектр игровых устройств ввода, у каждого из которых разные возможности и разные элементы управления. Данная библиотека поддерживается только на устройствах с ОС Android 4.1 или более поздней версии. Данная библиотека реализована таким образом, чтобы обеспечивать работу с произвольными (в том числе потенциально неизвестными) игровыми устройствами ввода.
Данную функцию можно использовать только с пространством имен версии 3.7 или более поздней, и для ее работы необходима версия SWF не ниже 20.

private var gameInput:GameInput;
    public function TestGameInput()
    {
        trace("GameInput.isSupported - "+ GameInput.isSupported);
        trace("GameInput.numDevices - "+ GameInput.numDevices);
 
        gameInput = newGameInput();
        gameInput.addEventListener(GameInputEvent.DEVICE_ADDED, inputDeviceAddedEvent);
        gameInput.addEventListener(GameInputEvent.DEVICE_REMOVED, inputDeviceRemovedEvent);
 
        function inputDeviceRemovedEvent(e:GameInputEvent):void
        {
            trace("inputDeviceRemovedEvent - "+ e.device);
        }
 
        function inputDeviceAddedEvent(e:GameInputEvent):void
        {
            trace("inputDeviceAddedEvent - "+ e.device);
            getDeviceInformation(e.device);
        }
 
        function getDeviceInformation(device:GameInputDevice):void
        {
            trace("device.enabled - "+ device.enabled);
            trace("device.id - "+ device.id);
            trace("device.name - "+ device.name);
            trace("device.numControls - "+ device.numControls);
            trace("device.sampleInterval - "+ device.sampleInterval);
 
            for(var i:Number=0; i < device.numControls; i++)
            {
                var control:GameInputControl = device.getControlAt(i);
                getControlInformation(control);
                control.addEventListener(Event.CHANGE, changeEvent);
            }
        }
 
        function changeEvent(e:Event):void
        {
            var control:GameInputControl = e.target as GameInputControl;
            getControlInformation(control);
        }
 
        function getControlInformation(control:GameInputControl):void
        {
            trace("control.device - "+ control.device);
            trace("control.value - "+ control.value);
            trace("control.minValue - "+ control.minValue);
            trace("control.maxValue - "+ control.maxValue);
            trace("control.id - "+ control.id);
 
        }
    }

Рекомендации по разработке

Разработка для Flash Player 11.7

Для использования нового выпуска Flash Player необходимо задать в качестве целевого объекта SWF версии 20, включив в компилятор Flex дополнительный аргумент компилятора: -swf-version=20. Ниже приведены инструкции. Если вы используете Adobe Flex SDK, сделайте следующее.

  • Загрузите новый файл playerglobal.swc для Flash Player 11.7
  • Загрузите Flex 4.5.1 SDK (4.5.1.21328) из таблицы Flex 4.5 SDK table.
  • Установите блок в свою среду разработки
  • В модуле Flash Builder создайте новый проект ActionScript : Файл -> Новый -> Проект ActionScript.
  • Откройте панель свойств проекта (щелкните правой кнопкой мыши и выберите «Свойства»). В списке слева выберите компилятор ActionScript.
  • Выберите функцию «Настроить Flex SDK» в верхнем правом углу, чтобы загрузить проект в модуль Flex build 21328. Нажмите кнопку «ОК».
  • Задайте в качестве цели проекта SWF версии 20
  • Откройте панель свойств проекта (щелкните правой кнопкой мыши и выберите «Свойства»). В списке слева выберите компилятор ActionScript.
  • Добавьте к строке «Дополнительные аргументы компилятора» следующее: -swf-version=20. В этом случае выходные объекты SWF будут файлами SWF версии 20. Если вы компилируете на командной строке, а не в Flash Builder, вы должны добавить такой же аргумент компилятора.
  • Убедитесь, что в вашем браузере установлен новый Flash Player 11.7.

Разработка для AIR 3.7 Обновление до пространства имен AIR 3.7

Для использования новых возможностей и интерфейсов прикладного программирования AIR 3.7 необходимо обновить файл дескриптора приложения, обеспечив поддержку пространства имен версии 3.7. Если для разработки вашего приложения не требуются новые возможности и интерфейсы прикладного программирования AIR 3.7, вам не обязательно обновлять пространство имен. Вместе с тем, мы рекомендуем всем пользователям начать работу с пространством имен AIR 3.7, даже если вы еще не используете его новые возможности. Чтобы обновить пространство имен, измените атрибут xmlns в дескрипторе приложения на: <application xmlns="http://ns.adobe.com/air/application/3.7">

Сообщения о проблемах

Нашли ошибку? Отправьте сведения об ошибке в базу данных ошибок Flash Player и Adobe AIR.

Flash Player и AIR могут использовать графическое аппаратное обеспечение для декодирования и воспроизведения видео H.264. Могут появляться проблемы обработки видео, воспроизведение которых возможно только с использованием определенного графического аппаратного обеспечения и драйвера. При сообщении о проблеме с видео необходимо указать сведения о графическом аппаратном обеспечении и драйвере, а также версию операционной системы и браузера (при использовании Flash Player), чтобы можно было воспроизвести и проанализировать проблему. Включите эту информацию, как описано в инструкциях по сообщению о проблемах с воспроизведением видео. Примечание. Из-за большого количества получаемых электронных писем мы не можем отвечать на каждый запрос.

Благодарим вас за использование Adobe® Flash Player® и AIR® и за время, потраченное на написание отзыва!

Системные требования

Для получения информации о системных требованиях для установки последней версии Flash Player прочитайте этот документ.

Для получения информации о системных требованиях для установки последней версии AIR прочитайте этот документ
.

История версий среды выполнения


 Дата выпуска Версия среды выполнения Улучшения безопасности
21 мая 2013 г. Flash Player Desktop (Windows, Mac): 11.7.700.203
Flash Player (Chrome): 11.7.700.203
 - 
14 мая 2013 г. Flash Player Desktop (Windows, Mac): 11.7.700.202
AIR Desktop, iOS, Android: 3.7.0.1860
AIR SDK & Compiler: 3.7.0.1860
 APSB13-14
9 апреля 2013 г. Flash Player Desktop (Windows, Mac): 11.7.700.169
Flash Player for Chrome: 11.7.700.179
AIR Desktop, iOS: 11.7.0.1530
AIR Android: 11.7.0.1660
AIR SDK: 11.7.0.1530
AIR SDK & Compiler: 11.7.0.1530
 APSB13-11
12 марта 2013 г.  Flash Player Desktop (Windows, Mac): 11.6.602.280
AIR Windows, Mac, Android, iOS: 3.6.0.6090
AIR SDK: 3.6.0.6090
AIR SDK & Compiler: 3.6.0.6090
 APSB13-09
26 февраля 2013 г.  Flash Player Desktop (Windows, Mac): 11.6.602.171  APSB13-08
12 февраля 2013 г. Flash Player Desktop (Windows): 11.6.602.168
Flash Player Desktop (Mac): 11.6.602.167
AIR Windows, Mac, Android, iOS: 3.6.0.597
AIR SDK & Compiler: 3.6.0.599
 APSB13-05
7 февраля 2013 г. Flash Player Desktop (Windows, Mac): 11.5.502.149  APSB13-04
8 января 2013 г. Flash Player Desktop (Windows, Mac): 11.5.502.146
AIR (Windows, Mac, мобильные устройства): 3.5.0.1060
AIR SDK: 3.5.0.1060
 APSB13-01
11 декабря 2012 г. Flash Player Desktop (Windows): 11.5.502.135
Flash Player Desktop Mac: 11.5.502.136
AIR Windows, Android: 3.5.0.880
AIR Mac: 3.5.0.890
 APSB12-27
6 ноября 2012 г. Flash Player Desktop (Windows, Mac): 11.5.502.110
AIR (Windows, Mac, мобильные устройства): 3.5.0.600
AIR SDK: 3.5.0.600
 APSB12-24
8 октября 2012 г.  Flash Player Desktop (Windows, Mac): 11.4.402.287
 AIR (Windows, Mac, мобильные устройства): 3.4.0.2710
 AIR SDK: 3.4.0.2710
 APSB12-22
21 августа 2012 г.  Flash Player Desktop (Windows, Mac):  11.4.402.265
 AIR (Windows, Mac, мобильные устройства): 3.4.0.2540
 AIR SDK: 3.4.0.2540
 APSB12-19

Эта работа лицензируется в соответствии с лицензией Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported  На посты, размещаемые в Twitter™ и Facebook, условия Creative Commons не распространяются.

Правовые уведомления   |   Политика конфиденциальности в сети Интернет