Problemas solucionados

Fecha de la versión: 8 de agosto de 2012

  • Se cierra al alternar entre contenido Flash y no Flash en Internet Explorer (3328165)
  • No se puede empaquetar la aplicación con un ANE en iOS, por lo que no se implementa la función finalizer. (3325320)
  • El empaquetado falla con una excepción de puntero nulo cuando se empaqueta un IPA solo con la implementación predeterminada en el ANE en iOS. (3325321)
  • Los datos de la base de datos se borran cada vez que se inicia en el Simulador de iOS. (3329309)
  • Depuración Wi-Fi en iOS: la depuración en iOS no funciona si la interfaz de red se selecciona como “Predeterminada” en AIR 3.4 (3325323)

Fecha de la versión: 21 de agosto de 2012

  • Netstream falla intermitentemente al desconectarse (3193417)
  • Problema al detener transmisión de audio en vivo en AIR Android (3188340)
  • drawWithQuality() no procesa correctamente los filtros en dispositivos Android (3224928)
  • Clipboard.generalClipboard.setData no funciona en iOS (3226045)
  • Cierto contenido de vídeo FLV no se reproduce en Flash Player en Windows (3187569)
  • Sólo se reproduce el audio del canal derecho aplicaciones basadas en Flash Player en Firefox en Windows (3289279)
  • La función de bloqueo del ratón se desactiva después de acceder al modo interactivo de pantalla completa (3174344)
  • [iOS5] Los elementos TextField con fuentes incorporadas se visualizan con caracteres incorrectos en dispositivos móviles (3161138)
  • El primer fotograma de determinado contenido de transmisiones en vivo se bloquea (3207896)
  • Los iconos de aplicaciones para 50X50, 100x100, 1024X1024 ahora se admiten en aplicaciones de iOS en el descriptor de la aplicación (3217144) 
  • Las aplicaciones que utilizan extensiones nativas a veces fallan en iOS cuando se usan determinadas bibliotecas externas, por ejemplo, Libxml2.dylib (3226974) 
  • Se observa cierta desviación cuando una imagen de inicio con resolución 768 x 1004 o 1024 x 748 se empaqueta en una aplicación de iPad de pantalla completa. (3230762). Puede consultar las nuevas directrices para el uso de imágenes de inicio aquí.
  • Los vídeos H264 en iOS se bloquean al cambiar entre dos objetos NetStream asociados a un objeto StageVideo (3206438)
  • Un problema con CameraRoll.browseForImage() provoca pérdida de transparencia que produce como resultado un color blanco (3291312)

Nuevas funciones

Fecha de la versión: 8 de agosto de 2012

A partir del 19 de septiembre de 2012, el SDK de iOS6 ya no está en versión beta.

No hay nuevas funciones en esta versión.

Fecha de la versión: 21 de agosto de 2012

  • Programas de trabajo de ActionScript (Flash Player)
  • Compatibilidad con puente de entorno limitado (Flash Player)
  • Compatibilidad de licencias: funciones premium de Flash Player para juegos (Flash Player)
  • Perfil "restringido" de Stage3 para lograr mayor alcance de GPU (Flash Player y AIR)
  • Soporte de LZMA para ByteArray (Flash Player y AIR)
  • Mejoras de attachCamera/Camera de StageVideo (Flash Player y AIR)
  • Textura comprimida con soporte de alfa para Stage3D (Flash Player y AIR)
  • Codificación DXT (Flash Player y AIR)
  • Las API Carbon para AIR ya no se admiten (AIR)
  • Implementación directa de AIR con ADT (AIR)
  • Notificaciones push para iOS (AIR)
  • AudioPlaybackMode de ambiente (AIR)
  • Excepción de soporte en extensiones nativas para iOS (AIR)
  • Nueva opción de ADT para ver la lista de los dispositivos móviles conectados (AIR)
  • Opción de ADT para resolver conflictos de símbolos ANE en iOS (AIR)

Para ver una lista completa de las funciones de Flash Player y AIR introducidas en las versiones anteriores, consulte el documento aquí.

Versiones publicadas

Para distribuir Versión de lanzamiento
 Flash Player para escritorio (Windows®/Mac)  11.4.402.287
 AIR (Windows®, Mac, móvil)  3.4.0.2710
 SDK de AIR  3.4.0.2710

Problemas conocidos

Fecha de la versión: 21 de agosto de 2012
  • El método transformVector() de Matrix3D transforma incorrectamente el componente w (3190677)
  • [iOS] En iOS 4.3, los elementos Cubemap comprimidos con alfa no se procesan correctamente (3282166)
  • Problemas de navigateToURL con caracteres ascii altos: no funciona correctamente en aplicaciones de AIR para escritorio (3161093)
  • [iOS] En cierto contenido, la instalación de un archivo .ipa con AIR 3.4 en ocasiones falla con un error de instalación: PackageExtractionFailed(3220974)
  • Cuando se utiliza el indicador –hideAneLibSymbols durante el empaquetado de una aplicación de iOS, sólo se deben utilizar las opciones del vinculador de marco y biblioteca; las opciones como -ios_version_min se deben utilizar en el archivo platform.xml del ANE
Adobe sigue trabajando en el SDK de iOS 6 Beta para resolver problemas. Los problemas conocidos actuales son:
  • El diálogo de permiso de geolocalización no se muestra en iOS 6 Beta (3291688)
  • Las aplicaciones de AIR empaquetadas con el SDK de AIR 3.4 y el SDK de iOS 6 Beta no admiten el objeto AutoOrients en la orientación invertida en iPad e iPhone (3286288)
  • Cualquier aplicación empaquetada con el SDK de AIR 3.4 y el SDK de iOS 6 Beta no admite ninguna etiqueta aspectRatio en dispositivos iOS 5.1 (3286320)

Mejoras de seguridad

Boletín de seguridad Productos para distribuir afectados
 APSB12-22  Flash Player para escritorio - Windows® y Mac

 Flash Player para AndroidTM

Nuevas funciones: Descripción general


Programas de trabajo de ActionScript

  • Con la introducción de los programas de trabajo en ActionScript y el motor de ejecución de Flash, los desarrolladores de Flash ahora pueden descargar determinadas tareas, como operaciones de alta latencia y cálculos de ejecución prolongada en "Programas de trabajo en segundo plano". Estos programas de trabajo en segundo plano se ejecutan simultáneamente para aprovechar más recursos de máquina y evitar situaciones como bloqueos de la interfaz de usuario. 
  • Nota: para aprovechar los programas de trabajo de ActionScript y poder depurarlos, se requiere la próxima versión de Flash Builder. Esta próxima versión de Flash Builder se pondrá a disposición como versión beta pública en agosto.
  • Nota: el soporte de memoria compartida (ByteArray.shareable) se ha trasladado a la próxima versión de Flash Player.

Compatibilidad con puente de entorno limitado

  • El puente de entorno limitado permite a los objetos o funciones específicas de ActionScript ser expuestos en la comunicación de dominios de SWF a SWF. Esta característica ya está disponible en AIR y se está adaptando a Flash Player en esta versión.

Compatibilidad de licencias: funciones premium de Flash Player para juegos (Flash Player)

  • Con la introducción de funciones premium para videojuegos, ahora podemos permitir que flujos que no son de ActionScript puedan usarse en Flash Player. Esta versión es compatible con el control de licencias de funciones premium de las API XC (uso combinado de la API de memoria de dominio y la API de aceleración por hardware del escenario 3D) en Flash Player. Estas API son utilizadas por algunas herramientas de otros fabricantes, como Unity el compilador de C/C++ del proyecto "Alchemy" de Adobe. Para obtener más información, visite www.adobe.com/go/fpl_es.

Perfil "restringido" de Stage3 para lograr mayor alcance de GPU

  • Flash Player acotará el uso de la aceleración por hardware basándose en la fecha de su controlador de tarjeta de vídeo. En versiones anteriores, ofrecíamos soporte para los controladores anteriores a 1 de enero de 2008. En esta versión, cambiaremos esta limitación para aplicarla a los controladores anteriores a 1 de enero de 2006. El contenido con wmode=direct (o renderMode=direct para AIR) debe ser acelerado por hardware en controladores de tarjeta de gráficos posteriores al 1/1/2006 siempre que sea posible. Esto se aplica a las API Stage3D y [StageVideo|StageVideo]. Además, hemos añadido un nuevo perfil para Stage3D denominado permite "restringido", que permite que el contenido se ejecute con aceleración por hardware chips Intel® GMA previamente bloqueados. Consulte la información incluida a continuación para obtener más información sobre este nuevo perfil y cómo aprovecharlo.

Soporte de LZMA para ByteArray

  • Además de la compresión de zlib de ByteArray, hemos introducido un nuevo tipo de compresión basado en LZMA para comprimir datos dentro de un objeto ByteArray mediante los métodos ByteArray.compress() y ByteArray.uncompress().

Textura comprimida con soporte de alfa para Stage3D (Flash Player y AIR)

  • Las imágenes transparentes se admiten ahora en texturas comprimidas (con formato de archivo ATF).

Mejoras de attachCamera/Camera para StageVideo

  • Esta función expone un método nuevo en objetos StageVideo que permite que el código de ActionScript dirija el flujo de vídeo desde la cámara a un objeto StageVideo, y aproveche así la GPU para el procesamiento, en lugar del rasterizador. Esto permite que el reproductor sea mucho más rápido cuando se procesa un flujo de vídeo desde la cámara si la aceleración por GPU está disponible.

Codificación DXT

  • Esta función le permite la codificación de texturas sin comprimir en formato DXT durante el tiempo de ejecución, de manera que la textura se pueda cargar en la GPU como una textura comprimida DXT.
    Disponible en la versión de escritorio de Flash Player 11.4 y AIR 3.4

Las API Carbon para AIR ya no se admiten

  • Desde Mac OS X 10.8, las API Carbon ya no cuentan con soporte de Apple. Por lo tanto, estas API y otro código desfasado se quitará de AIR en esta versión para estar en paridad con Mac OSX 10.8.
Implementación directa de AIR con ADT
  • Esta nueva función permite al desarrollador implementar una aplicación de AIR en dispositivos iOS sin tener que utilizar iTunes ni XCode. Tenga en cuenta que debe estar instalado iTunes 10.5.0 o superior en el equipo del usuario para poder utilizar esta función.

Notificaciones push en iOS

  • Esta función utilizará el servicio de notificaciones push de Apple (APNS, Apple Push Notification Service) y un proveedor (servidor de terceros que se comunique con el APN) para generar las notificaciones. Se ha introducido un nuevo paquete: flash.notifications. La entrega de notificaciones push depende por completo del servicio de notificaciones push de Apple y el APNS no garantiza la entrega de notificaciones push. Apple también recomienda suscribirse a las notificaciones push cada vez se inicia una aplicación. Cada vez que la aplicación cliente se suscribe a las notificaciones push, el servicio APNS ofrece un identificador de símbolo a la aplicación cliente y este identificador se envía a un servidor o proveedor de terceros para que envíe las notificaciones remotas.

AudioPlaybackMode de ambiente

  • Con AIR 3.4, los usuarios tendrán la opción de uno modo adicional de AudioPlaybackMode, esto es, AMBIENT además de VOICE y MEDIA. Este nuevo modo de AudioPlaybackMode permite a los usuarios forzar la aplicación para que respete el "interruptor de silencio de hardware" presente en dispositivos iPhone e iPad. El caso de uso más recomendado de este modo de reproducción de ambiente se da en las aplicaciones de juegos en las que el usuario de la aplicación tendrá la opción de silenciar el sonido del juego y poder escuchar música de cualquier otra aplicación en segundo plano. En el modo de ambiente, el audio respeta el interruptor de silencio de hardware sólo en dispositivos iOS. En dispositivos AndroidTM, el modo de ambiente será igual que el modo multimedia.

Excepción de soporte en extensiones nativas para iOS

  • Una extensión nativa para iOS ahora puede utilizar excepciones de C++ y Objective-C. Dependerá de la extensión capturar todas las excepciones emitidas en su código. El motor de ejecución no capturará las excepciones emitidas por extensiones.

Opción de ADT para ver la lista de los dispositivos móviles conectados

  • Una nueva opción, '-devices' se ha añadido al ADT para mostrar la lista de dispositivos iOS y AndroidTM. Los usuarios pueden utilizar esta opción en lugar de utilizar adb para mostrar los dispositivos AndroidTM e idb para mostrar dispositivos iOS. Tenga en cuenta que debe estar instalado iTunes 10.5.0 o superior en el equipo del usuario para poder utilizar esta función.

Opción de ADT para resolver conflictos de símbolos ANE en iOS

  • Como los desarrolladores de aplicaciones pueden usar varias extensiones nativas obtenidas de diversos recursos, un nombre de símbolo común en los 2 ANE puede generar un mensaje de error de empaquetado informando sobre un símbolo duplicado en los archivos de objeto, o produciendo un bloqueo en tiempo de ejecución. Para evitar este problema, se ha introducido una nueva opción de ADT, -hideAneLibSymbols, que puede especificarse en el momento de empaquetar la aplicación. Puede tomar los valores "yes" o "no". "yes" oculta los símbolos de la biblioteca de cada ANE de otros ANE.

Nuevas funciones: Instrucciones de uso

Introducción a los programas de trabajo

Para poder empezar a trabajar con la función de programas de trabajo, consulte los ejemplos del archivo flashplayer11-4_p1_ex_concurrency.zip.

Nota

A continuación se incluye la huella de memoria medida por programa de trabajo en MacOS y Windows®:

N.º de programas de trabajo

Mac BookPro
Mac OS X 10.7.3 
Intel® CoreTM i7 a 2,4 GHz
8 GB de RAM 
Mac OSX 10.7 
memoria (MB)

Equipo PC
Windows® 7 de 32 bits 
Intel® Xeon Quad core a 3,2 GHz 
2048 MB de RAM 
Windows® 7 
memoria (MB)

Portátil Lenovo T61
Windows® XP 
Intel® CoreTM Duo Core a 2,2 GHz 
2014 MB de RAM 
Windows® XP 
memoria (MB)

0

10 

4.78 

4.39 

1

15.75 

9.33 

8.59 

2

21.47 

13.8 

12.77 

3

27.28 

18.35 

16.39 

4

33 

22.8 

20.67 

5

38.81 

26.39 

24.58 

6

44.25 

31.1 

28.8 

7

50 

35.62 

32.67 

8

55.89 

40.16 

35.75 

9

61.7 

44.73 

39.6 

10

67.47 

48.83 

43.9

Cuando el código se ejecuta dentro del contexto de un programa de trabajo no principal (es decir, en segundo plano), algún comportamiento de la API flashruntime será distinto del comportamiento del código de ActionScript que se ejecuta en el subproceso principal. Las siguientes API se comportarán de forma diferente cuando se utilicen dentro de un programa de trabajo en segundo plano.

API no funcionales

Las siguientes API no estarán disponibles desde un programa de trabajo en segundo plano. Cualquier intento por construir una instancia de cualquiera de estos métodos emitirá un error IllegalOperationError con el mensaje "Esta función no está disponible en este contexto". El elemento errorID será el mismo en todas las instancias, lo que permite a los desarrolladores no incluir este valor.

  • flash.desktop.Clipboard // llamar al constructor emitirá un error; llamar a generalClipboard devolverá null
  • flash.desktop.NativeDragManager // isSupported devuelve false
  • flash.desktop.Updater // isSupported devuelve false
  • flash.display.NativeMenu // isSupported devuelve false
  • flash.display.NativeWindow // isSupported devuelve false
  • flash.display.ToastWindow // no se puede acceder a instancia porque stage.window no se definirá nunca
  • flash.display.Window // no se puede acceder a instancia porque stage.window no se definirá nunca
  • flash.external.ExtensionContext // createExtensionContext() siempre devuelve null o emite un error
  • flash.external.ExternalInterface // available devuelve false
  • flash.html.* // HTMLLoader.isSupported devuelve false
  • flash.media.CameraRoll // supportsAddBitmapData y supportsBrowseForImage devuelve false
  • flash.media.CameraUI // isSupported devuelve false
  • flash.media.StageWebView // isSupported devuelve false
  • flash.net.drm.* // DRMManager.isSupported devuelve false
  • flash.printing.* // PrintJob.isSupported devuelve false
  • flash.security.XMLSignatureValidator // isSupported devuelve false
  • flash.system.IME // isSupported devuelve false
  • flash.system.SystemUpdater // llamar al constructor devuelve un error
  • flash.text.StageText // llamar al constructor devuelve un error
  • flash.ui.ContextMenu // isSupported devuelve false
  • flash.ui.GameInput // isSupported devuelve false
  • flash.ui.Mouse // ninguno de estos métodos funciona; definir la propiedad 'cursor' no funciona

Cambios de comportamiento en las API

Las siguientes API tiene un comportamiento modificado cuando se ejecutan desde un programa de trabajo en segundo plano. Algunas llamadas a métodos no funcionan, mientras que otras se emitirán un error IllegalOperationError o equivalente, por coherencia con la API documentada. Los valores devueltos deben ser coherentes con la documentación en la medida de lo posible. Por ejemplo, si un método devuelve un conjunto con elementos incluidos en condiciones normales, cuando se ejecuta en un programa de trabajo en segundo plano, devolverá un conjunto vacío.

  • flash.accessibility.Accessibilty
    • active // siempre devuelve false
    • updateProperties(); // no funciona
  • Propiedades de flash.desktop.NativeApplication**

·          

  • flash.display.Stage
    • allowsFullScreen // siempre devuelve false
    • stage3Ds // siempre devuelve un objeto Vector vacío
    • stageVideos // siempre devuelve un objeto Vector vacío
    • supportsOrientationChange // siempre devuelve false
    • wmodeGPU // siempre devuelve false
  • flash.filesystem.File
    • browseForDirectory(), browseForOpen(), browseForOpenMultiple(), browseForSave() // no funcionan
  • flash.net.FileReference** browse(), download(), save() // no funciona; siempre devuelve false
  • flash.net.FileReferenceList** browse() // no funciona; siempre devuelve false
  • flash.system.System
    • ime // siempre devuelve null
    • exit() // obliga a este programa en segundo plano a detener y apagar la aplicación
    • setClipboard() // no funciona
  •  
    • métodos
      • activate(), clear(), copy(), cut(), paste(), selectAll() // no funcionan
      • exit() // obliga a este programa en segundo plano a detener y apagar la aplicación
    • eventos
      • sólo se admite el evento exiting: este evento se distribuye en caso de que el programa de trabajo se esté cerrando (ocurre con las llamadas al método de ciclo de vida o cuando el programa de trabajo "principal" se está cerrando, es decir, sale motor de ejecución; no se puede cancelar desde el programa de trabajo en segundo plano)
    •  
      • supportsDefaultApplication, supportsDockIcon, supportsMenu, supportsStartAtLogin, supportsSystemTrayIcon // todos devuelven false
      • activeWindow // devuelve null
      • autoExit // el método setter no funciona
      • idleThreshold // el método setter no funciona
      • openedWindows // devuelve un conjunto Array [] vacío
      • systemIdleMode // el método setter no funciona

Alcance ampliado de GPU - Perfil Stage3D restringido

Se ha introducido un nuevo parámetro de Context3D llamado "profile". Este parámetro se suministra a la función Stage3D.requestContext3D() y se le puede dar uno de los dos valores Context3DProfile.BASELINE ("baseline"), que devolverá un elemento Context3D típico que ya existía en versiones anteriores, o Context3DProfile.BASELINE_CONSTRAINED ("baselineconstrained") que devuelve un nuevo tipo de objeto Context3D capaz de ejecutarse con aceleración por hardware en GPU no compatibles hasta ahora. El perfil restringido permite a los autores de contenido crear contenido Stage3D destinado a sistemas más antiguos con tarjetas de gráficos como Intel® GMA 900/950 en Windows®. El efecto de aprovechar hardware de gama más baja con el perfil restringido es que las funciones de Stage3D estarán limitadas con el fin de garantizar que el contenido funcione bien con dicho hardware. Tarjetas como la GMA 900/950 sólo admiten versiones 2.0 de sombreador de píxeles/vértices, y esto obliga a respetar los siguientes límites en Stage3D cuando el perfil es restringido:

  • Está limitado a 64 ALU y a 32 instrucciones de texturas por sombreado.
  • Sólo 4 direcciones de lectura de textura por sombreado.
  • Está limitado a una cantidad menor de constantes/variaciones/temperaturas por sombreado.
  • No se admite el registro de predicados. Esto afecta a sln/sge/seq/sne y debe ser reemplazado por instrucciones cmp/mov compuestas que están disponibles en ps_2_0 (esto se logra sacrificando más ranuras de instrucciones en comparación con ps_2_x).
  • El búfer posterior de Context3D siempre debe estar dentro de los límites del escenario.
  • Sólo está permitida una instancia de Context3D en ejecución en el perfil restringido dentro de una instancia de Flash Player.
  • Al igual que los elementos clásicos de lista de visualización de Flash, no se actualizará al mientras el contenido de Stage3D restringido esté visible, a menos que se llame a Context3D.present().

'Profile' es el segundo parámetro opcional del método requestContext3D. Los desarrolladores pueden solicitar el perfil "baselineconstained" para obtener un objeto Context3D en modo restringido, tal como se indica en la API a continuación: function requestContext3D ( context3DRenderMode : String = "auto", profile : String = "baseline" ) : void;
Ejemplo:

stage.stage3Ds[0].addEventListener(Event.CONTEXT3D_CREATE, createdHandler);
stage.stage3Ds[0].requestContext3D(Context3DRenderMode.AUTO, Context3DProfile.BASELINE_CONSTRAINED); 

Implementación directa de AIR con ADT

Instalación:
para instalar un IPA en un dispositivo, utilice el comando siguiente:
adt -installApp -platform ios -device <deviceID> -package <ipa-file> 
Desinstalación:
para desinstalar un IPA de un dispositivo, utilice el siguiente comando:
adt -uninstallApp -platform ios -device <deviceID> -appid <app-id> 
El <deviceID> del dispositivo conectado sería el valor “Handle” arrojado por el siguiente comando:
@SDKLocation/bin/adt –devices –platform ios 
<app-id> se especifica en el archivo descriptor de la aplicación (app.xml), dentro de la etiqueta <id>. Si se crea un proyecto con Flash Builder, de forma predeterminada sería el mismo que el nombre de la aplicación. 

Si solo hay un dispositivo conectado al escritorio, omita el argumento “-device <deviceID>” y se instalará/desinstalará la aplicación en el dispositivo conectado.
adt -installApp -platform ios -package <ipa-file> 

Notificaciones push en iOS

1)     El identificador de la aplicación (etiqueta id) de app-xml debe coincidir con el identificador de la aplicación del certificado de suministro de dispositivo móvil habilitado con notificaciones push.
2)     Incluya aps-environment en el descriptor la aplicación:

<iPhone>
    <Entitlements>
            <![CDATA[
                          <key>get-task-allow</key>
                          <true/>
                          <key>aps-environment</key>
                          <string>development</string>
                          <key>keychain-access-groups</key>
                          <array>
                         <string>KEYCHAIN_ACCESS_GROUP</string>
                          </array>
                ]]>
    </Entitlements>
</iPhone>

Para enviar la aplicación al App Store con notificaciones push habilitadas, se necesita establecer aps-environment en producción. El desarrollador debe utilizar el perfil de suministro con notificaciones push habilitadas. Verifique los derechos de la aplicación firmada con el siguiente comando.

codesign -d --entitlements - <NombreDeAplicación>.app

3) Utilice la nueva clase flash.notifications en la aplicación para permitir la habilitación de notificaciones push. Por ejemplo,

// empty Vector List is returned on platforms on which none of the notification styles is supported.
if (RemoteNotifier.supportedNotificationStyles != " " )
{
var preferredNotificationStyles:Vector.<String> = new Vector.<String>();
preferredNotificationStyles.push(NotificationStyle.ALERT);
preferredNotificationStyles.push(NotificationStyle.SOUND);
preferredNotificationStyles.push(NotificationStyle.BADGE);
var subscribeOptions:RemoteNotifierSubscribeOptions = new RemoteNotifierSubscribeOptions();
subscribeOptions.notificationStyles = preferredNotificationStyles;
var rn:RemoteNotifier = new RemoteNotifier();
rn.addEventListener(RemoteNotificationEvent.TOKEN,tokenEventHandler);
rn.addEventListener(RemoteNotificationEvent.NOTIFICATION,notificationEventHandler);
rn.addEventListener(StatusEvent.STATUS,statusHandler);
// calling subscribe method without any subscribe options automatically subscribes for all notification styles supported on that platform
rn.subscribe(subscribeOptions);
}
function tokenEventHandler(event:RemoteNotificationEvent):void
{
// AIR developer can send the tokenId received in event.data to his server via URL request
var urlRequest:URLRequest;
var urlLoader:URLLoader = new URLLoader();
var urlString:String = "https://url.com/api/device_tokens/" + event.tokenId;
urlRequest = new URLRequest(urlString);
urlRequest.authenticate = true;
urlRequest.method =URLRequestMethod.PUT;
URLRequestDefaults.setLoginCredentialsForHost("url.com",<userId>,<password>);
urlLoader.load(urlRequest);
urlLoader.addEventListener(IOErrorEvent.IOERROR, onError);
urlLoader.addEventListener(Event.COMPLETE, onComplete);
urlLoader.addEventListener(HTTPStatusEvent.HTTPSTATUS,onStatus);
}
public function notificationEventHandler(e:RemoteNotificationEvent):void
{
//Code to handle the data received from the RemoteNotificationEvent event of type Notification
  for (var x:String in e.data)
            {
                trace("\n"+ x + ":  " + e.data[x]);
            }
}
public function statusHandler(e:StatusEvent):void
{
        //code to handle the event when subscription is failed
}
private function onError(e:IOErrorEvent):void
{
         //Code to handle the error which occurred while making url request by the url loader
}
private function onComplete(e:Event):void
{
            //Code to know what if the url request made by the url loader is complete        }
}   
private function onStatus(e:HTTPStatusEvent):void
{
           //Code to know the http status of the url request made by the url loader
}

La aplicación del cliente puede almacenar en su paquete las cadenas de mensajes de alerta traducidas para cada localización admitida. El proveedor especifica las propiedadesloc-key y loc-args del diccionario de aplicaciones en la carga de notificaciones. Cuando el dispositivo recibe la notificación, utiliza las propiedades del diccionario de aplicaciones para buscar y dar formato a la cadena localizada en el idioma actual que, seguidamente, se muestra al usuario.

Las cadenas localizadas debenencontrarse en el archivo llamado Localizable.strings en la carpeta <idioma>.lproj correspondiente. Cada entrada de este archivo tiene una clave y un valor de cadena localizado. La cadena puede tener especificadores de formato para la sustitución de los valores de las variables. Cuando una aplicación solicita una cadena determinada, se obtiene el recurso que está localizado en el idioma seleccionado por el usuario.

Para poder recibir notificaciones remotas localizadas, una aplicación de AIR debe tener pares de clave-valor localizados en el archivo Localizable.stings de la carpeta <idioma>/lproj en el archivo ipa. Para agregar el archivo Localizable.strings al archivo ipa, el desarrollador debe agregar la carpeta <idioma>.lproj correspondiente en el comando de ADT del modo siguiente:

adt -package -target ipa-app-store -provisioning-profile <MobileProvisioningCertificate> -storetype pkcs12 -keystore <Certificate.p12> -storepass <PASSWORD> app.xml sample.swf en.lproj es.lproj fr.lproj

Tenga en cuenta que la carpeta lproj debe estar presente en el directorio actual para permitir que el ADT combine los archivos de la carpeta lproj adecuada. Si la carpeta lproj es a/b/c/en.lproj, ADT la añade como a/b/c/en.lproj y, por lo tanto, los pares clave -valor localizados no estarán accesibles para la aplicación.

Opción de ADT para ver la lista de los dispositivos móviles conectados

Puede utilizar el comando siguiente para obtener información acerca de los dispositivos iOS/AndroidTM conectados:

adt -devices -platform (android | ios)

Este comando genera una salida como la siguiente:

Lista de dispositivos conectados:

Handle   DeviceClass   DeviceUUID                                                    DeviceName

7           iPhone         783fc8af34a6022c924c34fe7025e7e39d9d123b abc’s iPhone


Compatibilidad de licencias: funciones premium de Flash Player para juegos (sólo Flash Player)

El uso combinado de memoria de dominio (utilizada por algunas herramientas de otros fabricantes y el compilador de C/C++ del proyecto “Alchemy”) con aceleración por hardware de Stage3D requerirá una licencia. Al utilizar ambas funciones combinadas, se mostrará una marca de agua informativa en el depurador de contenido de Flash Player (reproductor de depuración). Este requisito de licencia no se aplica al contenido que utiliza aceleración por hardware de Stage3D sin memoria de dominio (o memoria de dominio sin Stage3D) yno se aplica a ningún contenido implementado con Adobe AIR. 

Gestión de pérdida de dispositivo

El contenido sin licencia seguirá ejecutándose cambiando automáticamente Stage3D a procesamiento por software. Para asegurarse de que su contenido controla correctamente la pérdida en recursos de tarjeta gráfica, detecte el evento Event.CONTEXT3D_CREATE en el objeto Stage3D para volver a inicializar el contenido de los gráficos. Puede simular un evento de pérdida de dispositivo llamando a context3D.dispose(). (Todo contenido de Stage3D debe gestionar la pérdida de dispositivo, que también puede ocurrir si un equipo está bloqueado o si el protector de pantalla se activa.)

Opción de ADT para resolver conflictos de símbolos ANE en iOS

Puede utilizar el siguiente comando para empaquetar aplicaciones mediante esta opción:

 adt -package –target ( ipa-test | ipa-debug | ipa-app-store | ipa-ad-hoc | ipa-test-interpreter | ipa-debug-interpreter | ipa-test-interpreter-simulator | ipa-debug-interpreter-simulator ) ( CONNECT_OPTIONS? | LISTEN_OPTIONS? ) ( -sampler )? –hideAneLibSymbols (yes|no) SIGNING_OPTIONS <output-package> ( <app-desc> PLATFORM-SDK-OPTION? FILE-AND-PATH-OPTIONS | <input-package> PLATFORM-SDK-OPTION? )

Por ejemplo,

 adt -package –target ipa-test
–hideAneLibSymbols yes
–provisioning-profile xxx.mobileprovision
–storetype pkcs12 –keystore Certificates.p12 –storepass password
Sample.ipa sample-app.xml sample.swf
–extdir ANEFolder

Utilice el valor "yes" para evitar conflictos de símbolos y el valor "no" para el mismo comportamiento que describimos anteriormente. Tenga en cuenta que esta función todavía no está disponible en Flash Builder/Flash Professional.

Codificación DXT


var texture1:Texture = context3D.createTexture(256, 256, Context3DTextureFormat.COMPRESSED, false);
texture1.uploadFromBitmapData(myPNGBitmap.bitmapData);  // or you can upload from a byteArray as well
 
var texture2:Texture = context3D.createTexture(256, 256, Context3DTextureFormat.COMPRESSED_ALPHA, false);
texture2.uploadFromByteArray(myPNGByteArray);


Textura comprimida y alfa


[Embed( source = "rsc/MyCompressed.atf", mimeType="application/octet-stream")]
private var MyATF_DXT1:Class;
 
[Embed( source = "rsc/MyCompressedAlpha.atf", mimeType="application/octet-stream")]
private var MyATF_DXT5:Class;
 
//-----------------------------------------------------------------------------------
 
var fragmentShaderForCompressedTexture:String                          = "tex oc, v0, fs0 <2d, dxt1>";
var fragmentShaderForCompressedAlphaTexture:String              = "tex oc, v0, fs1 <2d, dxt5>";
 
//-----------------------------------------------------------------------------------
 
var texture1:Texture = context3D.createTexture(256, 256, Context3DTextureFormat.COMPRESSED, false);
texture1.uploadCompressedTextureFromByteArray(new MyATF_DXT1() as ByteArray, 0);
 
var texture2:Texture = context3D.createTexture(256, 256, Context3DTextureFormat.COMPRESSED_ALPHA, false);
texture2.uploadCompressedTextureFromByteArray(new MyATF_DXT5() as ByteArray, 0);

Directrices de creación

Creación para Flash Player 11.4

Para utilizar la nueva versión de Flash Player, debe ir a la versión 17 del SWF de destino transfiriendo un argumento adicional al compilador de Flex: -swf-version=17. A continuación le explicamos cómo hacerlo. Si utiliza el SDK de Adobe Flex:

  • Descargue el nuevo archivo playerglobal.swc para Flash Player 11.4.
  • Descargue el SDK 4.5.1 de Flex (4.5.1.21328) desde la tabla del SDK 4.5 de Flex.
  • Instale el programa en su entorno de desarrollo
  • En Flash Builder, cree un proyecto nuevo de ActionScript: Archivo -> Nuevo -> Proyecto de ActionScript.
  • Abra el panel Propiedades del proyecto (haga clic con el botón derecho y seleccione “Propiedades”). Seleccione “Compilador de ActionScript” en la lista de la izquierda.
  • Utilice la opción “Configurar SDK de Flex” en la esquina superior derecha para que el proyecto apunte a la versión 21328 de Flex. Haga clic en Aceptar.
  • Configure el proyecto para que apunte a la versión 17 del SWF
  • Abra el panel Propiedades del proyecto (haga clic con el botón derecho y seleccione “Propiedades”). Seleccione “Compilador de ActionScript” en la lista de la izquierda.
  • Añada -swf-version=17 en “Argumentos adicionales de compilador”. Esto garantizará que el SWF de salida apunte a la versión 17 del SWF. Si compila en la línea de comandos y no en Flash Builder, deberá añadir el mismo argumento de compilador.
  • Asegúrese de que ha instalado la nueva versión de Flash Player 11.4 en el navegador.

Creación para AIR 3.4 Actualizar al espacio de nombres de AIR 3.4

Debe actualizar el archivo descriptor de la aplicación al espacio de nombres 3.4 para poder acceder al nuevo comportamiento y las API de AIR 3.4. Si su aplicación no requiere el nuevo comportamiento y las API de AIR 3.4, no es necesario que actualice el espacio de nombres. No obstante, recomendamos a todos los usuarios que empiecen a utilizar ya el espacio de nombres de AIR 3.4 incluso si no creen que van a aprovechar las nuevas funciones 3.4. Para actualizar el espacio de nombres, cambie el atributo xmlns en el descriptor de la aplicación por: <application xmlns="http://ns.adobe.com/air/application/3.4">

Informar sobre un error

¿Ha encontrado algún error? Envíe el error a la base de datos de errores de Flash Player y Adobe AIR.

Flash Player y AIR tal vez aprovechen su hardware de gráficos para descodificar y reproducir vídeo H.264. Puede haber problemas de vídeo que solo existan con un hardware de gráficos y un controlador concretos. Si nos informa de un problema relacionado con vídeo, es esencial que anote el modelo de hardware de gráficos y de controlador, además de los datos del sistema operativo y el navegador (si utiliza Flash Player), para que podamos reproducir la misma situación e investigar el problema. No olvide incluir esta información tal como se describe en Instrucciones para informar sobre problemas de reproducción de vídeo. Nota: debido al gran volumen de correo electrónico recibido, nos resulta imposible contestar a todas las solicitudes.

Gracias por usar Adobe® Flash Player® y AIR®, y por dedicar el tiempo necesario para enviarnos sus opiniones.

Requisitos del sistema

Para conocer los requisitos del sistema más recientes de Flash Player y AIR, consulte el documento aquí.


Historial de versiones del motor de ejecución

 

 Fecha de versión Versión del motor de ejecución Mejoras de seguridad
21 de agosto de 2012 Flash Player para escritorio (Windows, Mac): 11.4.402.265
AIR (Windows, Mac, móvil): 3.4.0.2540
SDK de AIR: 3.4.0.2540
 APSB12-19

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea