Problemas corrigidos 

Data de lançamento: 08/10/12

  • Trava ao navegar de/para conteúdos em Flash no Internet Explorer (3328165)
  • Não é possível empacotar um aplicativo usando ANE em iOS, o que não implementa a função de finalização. (3325320)
  • O empacotamento falha com exceção de apontador nulo, ao empacotar um IPA usando somente a implementação padrão no ANE em iOS. (3325321)
  • Os dados do banco de dados são limpos cada vez que é iniciado no Simulador iOS. (3329309)
  • Depuração de wi-fi em iOS: A depuração em iOS não funciona quando a interface de rede for escolhida como "Padrão" para o Player Target AIR3.4 (3325323)

Data de lançamento: 21/08/12

  • O netstream trava intermitentemente ao desconectar (3193417)
  • Problema com a interrupção de transmissão de áudio ao vivo no AIR Android(3188340)
  • O drawWithQuality() não renderiza os filtros adequadamente nos dispositivos Android (3224928)
  • Clipboard.generalClipboard.setData não funciona no iOS (3226045)
  • Determinados conteúdos de vídeo FLV não são reproduzidos no Flash Player no Windows (3187569)
  • Apenas o áudio do lado direito é reproduzido em aplicativos baseados no Flash Player no Firefox no Windows(3289279)
  • Recurso de travamento do mouse desativado depois de entrar no modo interativo de Tela inteira (3174344)
  • [iOS5] TextFields com fontes incorporadas ilegíveis em dispositivos móveis (3161138)
  • O primeiro quadro de determinados conteúdos de transmissões ao vivo congelam (3207896)
  • Ícones de aplicativos de 50X50, 100X100, 1024X1024 agora têm suporte dos aplicativos iOS no descritor do aplicativo (3217144) 
  • Os aplicativos que usam extensões nativas às vezes travam no iOS ao usar determinadas bibliotecas externas, p.ex. Libxml2.dylib (3226974) 
  • Algum desvio é observado quando uma imagem de inicialização de 768 x 1004 ou 1024 x 748 de resolução é empacotado em um aplicativo em tela inteira do iPad. (3230762). As novas diretrizes para usar imagens de inicialização podem ser consultadas aqui
  • Os vídeos H264 no iOS travam ao alternar entre dois NetStreams conectados a um objeto StageVideo (3206438)
  • Problema com o CameraRoll.browseForImage() causa perda de transparência resultando na cor branca(3291312)

Novos recursos 

Data de lançamento: 08/10/12

Desde 19/09/12, o SDK do iOS6 não está mais na versão Beta.

Nenhum novo recurso nesta versão

Data de lançamento: 21/08/12

  • Workers do ActionScript (Flash Player)
  • Suporte à área de segurança do Bridge (Flash Player)
  • Autorização de licenciamento: recursos Flash Player Premium para jogos (Flash Player)
  • Perfil Stage3D "restrito" para alcance GPU melhorado (Flash Player e AIR)
  • Suporte LZMA para ByteArray (Flash Player e AIR)
  • Melhorias de StageVideo attachCamera/Camera (Flash Player e AIR)
  • Textura compactada com suporte alfa para Stage3D (Flash Player e AIR)
  • Codificação DXT (Flash Player e AIR)
  • APIs de carbono não recomendadas para o AIR (AIR)
  • Implantação direta do AIR usando ADT (AIR)
  • Notificações de Push para iOS (AIR)
  • AudioPlaybackMode ambiente (AIR)
  • Suporte a exceções nas extensões nativas do iOS (AIR)
  • Nova opção no ADT para listar os dispositivos móveis conectados (AIR)
  • A opção ADT para solucionar conflitos de símbolo ANE no iOS (AIR)

Para obter uma lista completa dos recursos no Flash Player e no AIR, incluindo os recursos apresentados em versões anteriores, leia o documento aqui.

Versões lançadas

Resultado Versão lançada
 Flash Player Desktop (Windows® /Mac)  11.4.402.287
 AIR (Windows® , Mac, Mobile)  3.4.0.2710
 AIR SDK  3.4.0.2710

Problemas conhecidos

Data de lançamento: 21/08/12
  • O transformVector() do Matrix3D transforma incorretamente o componente w (3190677)
  • [iOS] No iOS 4.3, mapas de cubo compactados com Alfa não são renderizados corretamente (3282166)
  • Problemas do navigateToURL com caracteres high-ascii não funcionando corretamente em aplicativos AIR Desktop (3161093)
  • [iOS] Em determinado conteúdo, a instalação de um arquivo .ipa com o AIR 3.4 ocasionalmente falha com Erro de instalação: PackageExtractionFailed(3220974)
  • Ao usar o sinalizador –hideAneLibSymbols enquanto empacota um aplicativo para iOS, apenas a estrutura e a biblioteca vinculando opções de vínculo e opções como -ios_version_min devem ser usadas no arquivos platform.xml do ANEs
A Adobe continua a trabalhar com o SDK iOS 6 Beta e solução de problemas. Os problemas conhecidos atuais são:
  • O diálogo de permissão de localização geográfica não aparece no iOS 6 Beta(3291688)
  • Os aplicativos AIR empacotados com os SDKs do AIR 3.4 e do iOS 6 Beta que não oferecem suporte a AutoOrients invertida no iPod e no iPhone(3286288)
  • Qualquer aplicativo empacotado com o SDK do AIR 3.4 e o SDK do iOS 6 Beta não oferece suporte à marca aspectRatio no dispositivo iOS 5.1 (3286320)

Aprimoramentos de segurança 

Boletim de Segurança  Resultados afetados
 APSB12-22  Flash Player Desktop Windows® & Mac

 Flash Player AndroidTM

Novos recursos: visão geral


Workers do ActionScript

  • Com a introdução dos Workers no ActionScript e no Flash Runtime, os Desenvolvedores do Flash agora podem repassar determinadas tarefas como operações de alta latência e computações longas para "Workers de segundo plano". Esses Workers de plano de fundo são executados concomitantemente para aproveitar mais recursos da máquina e evitar problemas como congelamentos de interface. 
  • Nota: para aproveitar totalmente os Workers do ActionScript e poder depurar os workers, é necessária a próxima versão do Flash Builder. A próxima versão do Flash Builder estará disponível por meio de beta público em agosto.
  • Nota: o suporte a memória compartilhada (ByteArray.shareable) foi movido para uma próxima versão do Flash Player.

Suporte à área de segurança do Bridge

  • A área de segurança do Bridge permite que objetos ou funções específicas do ActionScript sejam exportas entre comunicações entre domínios SWF-a-SWF. Esse recurso já está disponível no AIR e está sendo portado para o Flash Player nesta versão.

Licenciamento de suporte: recursos do Flash Player Premium para jogos (Flash Player)

  • Com a introdução dos recursos Premium Features para jogos, nós agora permitimos fluxos de trabalho não ActionScript visando o Flash Player. Essa versão suporta o controle de licença dos recursos Premium das APIs XC (o uso combinado da API de memória de domínio e a API de aceleração de hardware Stage 3D) no Flash Player. Essas APIs são usados por algumas ferramentas de terceiros como Unity e o projeto de compilador C/C++ da Adobe, "Alchemy". Para obter mais informações, acesse www.adobe.com/go/fpl_br.

Perfil Stage3D "restrito" para um alcance GPU melhorado

  • O Flash Player limitará o uso da aceleração do hardware com base na data do driver da sua placa de vídeo. Em versões anteriores, direcionamos o suporte para drivers anteriores a 1 de janeiro de 2008. Nesta versão, alteraremos o direcionamento para aplicá-lo a drivers anteriores a 1 de janeiro de 2006. O conteúdo usando wmode=direct (ou renderMode=direct para AIR) deve ter aceleração de hardware em driver de placa gráfica mais recente que 1/1/2006 quando possível. Isso se aplica às APIs Stage3D e [StageVideo|StageVideo]. Além disso, adicionamos um novo perfil do Stage3D chamado "restrito", permitindo que seu conteúdo execute hardware acelerado nos chipsets Intel® GMA anteriormente na lista negra. Veja abaixo para obter mais detalhes sobre este novo perfil e como aproveitá-lo.

Suporte de LZMA para ByteArray

  • Além da compactação zlib do ByteArray, estamos apresentando um tipo de compactação adicional baseado em LZMA para compactar dados em um ByteArray por meio de ByteArray.compress() e ByteArray.uncompress().

Textura compactada com suporte alfa para Stage3D (Flash Player e AIR)

  • Imagens transparentes agora têm suporte em texturas compactadas (formato de arquivo ATF).

StageVideo melhorias de attachCamera/Camera

  • Esse recurso apresenta um novo método em objetos StageVideo que permite que o código Actionscript direcione a transmissão de vídeo da câmera para um objeto StageVideo, aproveitando a GPU para renderização em vez do rasterizador. Isso permite que o player seja muito mais rápido ao processar uma transmissão de vídeo pela câmera quando a aceleração de GPU está disponível.

Codificação DXT

  • Este recurso permite a decodificação de texturas não compactadas no formato DXT durante o runtime, para que a textura possa ser enviada para o GPU como uma textura DXT compactada.
    Disponível no desktop para o Flash Player 11.4 e o AIR 3.4

APIs de carbono não recomendadas para o AIR

  • A partir do Mac OS X 10.8, as APIs não recomendadas não serão mais suportadas pela Apple. Por isso essas APIs e outro código não recomendado estão sendo removidos do AIR nesta versão para fins de conformidade com o Mac OSX 10.8.
Implantação direta do AIR usando ADT
  • Este novo recurso permite que o desenvolvedor implante um aplicativo AIR em dispositivos iOS sem precisar usar o iTunes ou o XCode. Observe que o iTunes 10.5.0 ou superior precisa estar instalado na máquina do usuário para poder usar esse recurso.

Notificações de push do iOS

  • Esse recurso usará o APNS (Serviços de notificação por push da Apple) e um provedor (servidor de terceiros que se comunicarão com a APN) para gerar notificações. Um novo pacote flash.notifications foi introduzido. A entrega de notificações por push depende totalmente do Serviço de notificação por push da Apple Push Notification Service e o APNS não garante a entrega dessas notificações. A Apple também recomenda a assinatura de notificações por push toda vez que um aplicativo é iniciado. Cada vez que um aplicativo cliente assina notificações por push, o APNS fornece uma token-id para o aplicativo cliente e esta token-id deve ser enviada ao servidor ou provedor de terceiros que enviará as notificações remotas.

AudioPlaybackMode ambiente

  • Com o AIR 3.4, os usuários terão a opção de mais um AudioPlaybackMode isto é AMBIENT diferente de VOICE e MEDIA. Esse novo AudioPlaybackMode permitirá que os usuários forcem o aplicativo a respeitar o "botão de mute de hardware" presente em iPhone(s) /iPad(s). O caso de uso mais forte deste playbackmode de ambiente pode ser observado nos aplicativos de jogos, nos quais o usuário do aplicativo terá a opção de silenciar o som dos jogos e, ao mesmo tempo, ouvir a música de qualquer outro aplicativo em segundo plano. No modo Ambiente, o áudio respeita o botão de mute do hardware apenas nos dispositivos iOS. Nos dispositivos AndroidTM, o modo Ambiente será exatamente como o modo Mídia.

Suporte a exceções nas extensões nativas do iOS

  • Uma extensão nativa do iOS agora pode usar tanto as exceções C++ quanto Objective-C. Fica a critério da extensão obter todas as exceções emitidas em seu código. O runtime não obterá as exceções emitidas pelas extensões.

A opção ADT para listar os dispositivos móveis conectados

  • Uma nova opção, '-devices' foi adicionada no ADT para listas os dispositivos iOS/AndroidTM conectados. Os usuários podem se beneficiar desta opção em vez de usar o adb para listar os dispositivos AndroidTM e idb para listar os dispositivos iOS. Observe que o iTunes 10.5.0 ou superior precisa estar instalado na máquina do usuário para poder usar esse recurso.

A opção ADT para solucionar conflitos de símbolo ANE no iOS

  • Como os desenvolvedores de aplicativos podem usar várias extensões nativas obtidas de diversos recursos, um nome de símbolo comum nos 2 ANEs pode emitir um erro de empacotamento, informando que há um símbolo duplicado nos arquivos de objeto ou um travamento no runtime. Para contornar este problema, uma nova opção ADT, -hideAneLibSymbols, foi apresentada, que pode ser especificada no momento do empacotamento do aplicativo. Pode pegar os valores – sim ou não, nos quais sim oculta os símbolos de biblioteca de cada ANE de outros ANEs.

Novos recursos: Diretrizes de uso

Como começar a usar Workers

Para começar a usar o recurso workers, consulte os exemplos no arquivo flashplayer11-4_p1_ex_concurrency.zip.

Nota

Aqui está abaixo do volume de memória medido por worker no MacOS e Windows®:

Número de workers

Mac BookPro
Mac OS X 10.7.3 
2.4 GHz Intel® CoreTM i7 
8GB RAM 
Mac OSX 10.7 
memória (MB)

Computador 
Windows® 7 32 bits 
Intel® Xeon Quad core 3.2GHz 
2048MB RAM 
Windows® 7 
memória (MB)

Laptop Lenovo T61
Windows® XP 
Intel® CoreTM Duo Core 2.2GHz 
2014 MB RAM 
Windows® XP 
memória (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

Quando o código está sendo executado dentro do contexto de um worker não primordial (isto é, em segundo plano), alguns comportamentos da API flashruntime serão diferentes dos do código Actionscript sendo executado no thread principal. As seguintes APIs se comportarão de forma diferente quando usadas por dentro de um worker em segundo plano.

APIs não funcionais

As seguintes APIs não estarão disponíveis por dentro de um worker em segundo plano. Qualquer tentativa de criar uma instância de qualquer uma delas emitirá um IllegalOperationError com a mensagem "Este recurso não está disponível neste contexto", a errorID será a mesma em todas as instâncias, permitindo que os desenvolvedores eliminem esse valor.

  • flash.desktop.Clipboard // chamar o construtor vai emitir; chamar generalClipboard vai retornar nulo
  • flash.desktop.NativeDragManager // isSupported retorna falso
  • flash.desktop.Updater // isSupported retorna falso
  • flash.display.NativeMenu // isSupported retorna falso
  • flash.display.NativeWindow // isSupported retorna falso
  • flash.display.ToastWindow // não consegue acessar a instância porque stage.window nunca será definido
  • flash.display.Window // não consegue acessar a instância porque stage.window nunca será definido
  • flash.external.ExtensionContext // createExtensionContext() sempre retornará nulo ou emitirá um erro
  • flash.external.ExternalInterface // disponível retorna falso
  • flash.html.* // HTMLLoader.isSupported retorna falso
  • flash.media.CameraRoll // supportsAddBitmapData e supportsBrowseForImage retornam falso
  • flash.media.CameraUI // isSupported retorna falso
  • flash.media.StageWebView // isSupported retorna falso
  • flash.net.drm.* // DRMManager.isSupported retorna falso
  • flash.printing.* // PrintJob.isSupported retorna falso
  • flash.security.XMLSignatureValidator // isSupported retorna falso
  • flash.system.IME // isSupported retorna falso
  • flash.system.SystemUpdater // chamar o construtor emite
  • flash.text.StageText // chamar o construtor emite
  • flash.ui.ContextMenu // isSupported retorna falso
  • flash.ui.GameInput // isSupported retorna falso
  • flash.ui.Mouse // todos os métodos são não operacionais; definir a propriedade 'cursor' não é operacional

Modificações comportamentais de APIs

O comportamento das seguintes APIs são modificados quando elas são executadas de um worker de segundo plano. Algumas chamadas de métodos não são operacionais, enquanto outras emitirão um IllegalOperationError ou equivalente compatível com a API documentada. Os valores de retorno devem ser compatíveis com a documentação tanto quanto possível. Por exemplo, se um método retorna uma Matriz com elementos nela em condições normais, ao executar por dentro de um worker de segundo plano, ele retornará uma Matriz vazia.

  • flash.accessibility.Accessibilty
    • active // sempre retorna falso
    • updateProperties(); // não operacional
  • flash.desktop.NativeApplication** propriedades

·          

  • flash.display.Stage
    • allowsFullScreen // sempre retorna falso
    • stage3Ds // sempre retorna um Vetor vazio
    • stageVideos // sempre retorna um Vetor vazio
    • supportsOrientationChange // sempre retorna falso
    • wmodeGPU // sempre retorna falso
  • flash.filesystem.File
    • browseForDirectory(), browseForOpen(), browseForOpenMultiple(), browseForSave() // não operacional
  • flash.net.FileReference** browse(), download(), save() // não operacional; sempre retorna falso
  • flash.net.FileReferenceList** browse() // não operacional; sempre retorna falso
  • flash.system.System
    • ime // sempre retorna nulo
    • exit() // força esse worker de segundo plano a parar e desligar
    • setClipboard() // não operacional
  •  
    • métodos
      • activate(), clear(), copy(), cut(), paste(), selectAll() // não operacional
      • exit() // força esse worker de segundo plano a parar e desligar
    • eventos
      • apenas o evento de saída é suportado. Esse evento será despachado quando o worker estiver sendo desligado (acontece com chamadas de método de ciclo de vida ou com o desligamento do worker “principal”, ou seja, o runtime está saindo, não pode ser cancelado pelo worker em segundo plano)
    •  
      • supportsDefaultApplication, supportsDockIcon, supportsMenu, supportsStartAtLogin, supportsSystemTrayIcon // todos retornam falso
      • activeWindow // retorna nulo
      • autoExit // o configurador não é operacional
      • idleThreshold // o configurador não é operacional
      • openedWindows // retorna uma Matriz vazia []
      • systemIdleMode // configurador não é operacional

Alcance melhorado da GPU - Perfil Stage3D restrito

Um novo parâmetro para Context3D foi introduzido, chamado "profile". Esse parâmetro é fornecido à função Stage3D.requestContext3D() e você pode dar a ele o valor de um ou dois Context3DProfile.BASELINE ("baseline") que retornará o Context3D normal existente em todas as versões anteriores, ou Context3DProfile.BASELINE_CONSTRAINED ("baselineConstrained") que retornará um novo tipo de Context3D, capaz de executar a aceleração de hardware em GPUs anteriormente não compatíveis. O perfil restrito permite que os autores de conteúdo criem conteúdo Stage3D direcionado para sistemas mais antigos usando placas gráficas como Intel® GMA 900/950 no Windows® . A troca para direcionar para hardware lower end com perfil Restrito é que os recursos do Stage3D serão limitados de modo a garantir que o conteúdo seja executado bem com o hardware. Placas como a GMA 900/950 suportam apenas sombreador de pixel/vertex versão 2.0 que força os seguintes limites no Stage3D quando no perfil Restrito:

  • Limitado a 64 ALU e 32 instruções de textura por sombreador.
  • Apenas 4 indireções de leitura de textura por sombreador.
  • Limitado a uma menor quantidade de constantes/variantes/temps por sombreador.
  • Sem suporte para registro de predicado. Isso afeta sln/sge/seq/sne e precisa ser substituído com instruções compostas mov/cmp que estão disponíveis com ps_2_0 (isso será feito nos bastidores, usando mais slots de instruções do que em relação ao ps_2_x).
  • O buffer traseiro do Context3D deve sempre estar dentro dos limites do palco.
  • Apenas uma instância de um Context3D em execução no perfil Restrito é permitido em uma instância do Flash Player.
  • Como com o telefone celular, os elementos clássicos do Flash Display List não serão atualizados enquanto o conteúdo restrito do Stage3D estiver visível, a não ser que Context3D.present() seja chamado.

'Profile' é o segundo parâmetro opcional do método requestContext3D. Os desenvolvedores podem solicitar "baselineConstained" do perfil para obter um Context3D no modo restrito como a API abaixo mostra: function requestContext3D ( context3DRenderMode : String = "auto", profile: String = "baseline" ): void;
Exemplo:

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

Implantação direta do AIR usando ADT

Instalação:
Para instalar um IPA em um dispositivo, use o seguinte comando:
adt -installApp -platform ios -device <deviceID> -package <ipa-file> 
Desinstalar:
Para desinstalar um IPA de um dispositivo, use o seguinte comando:
adt -uninstallApp -platform ios -device <deviceID> -appid <app-id> 
O <deviceID> do dispositivo conectado seria o valor de “manuseio” listado pelo seguinte comando:
@SDKLocation/bin/adt –devices –platform ios 
O <app-id> é especificado no arquivo descritor do aplicativo (app.xml) dentro da tag <id>. Se você criar seu projeto usando o Flash Builder, por padrão ele seria o mesmo do nome de seu aplicativo. 

Se apenas um dispositivo estiver conectado ao desktop, omita o argumento '-device <deviceID> ' e o aplicativo será instalado/desinstalado no dispositivo conectado.
adt -installApp -platform ios -package <ipa-file> 

Notificações de push do iOS

1)     O identificador de aplicativo (tag id) é o app-xml e deve ser o mesmo identificador de aplicativo do certificado de provisionamento móvel habilitado com notificações por Push.
2)     Inclui a autorização aps-environment no descritor do aplicativo:

<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 o aplicativo para a App Store com as notificações por push habilitadas, é preciso definir aps-environment como produção. O desenvolvedor precisa usar o perfil de provisionamento com as notificações por push ativadas. Fala a verificação cruzada das autorizações do aplicativo assinado usando o seguinte comando.

codesign -d --entitlements - <YourAppName>.app

3) Use a classe flash.notification recém-adicionada para habilitar o suporte a notificações por push. Por exemplo,

// 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
}

O aplicativo cliente pode armazenar em seu pacote as strings de mensagens de alerta traduzidas para cada localização com suporte. O provedor especifica as propriedades loc-key e loc-args no dicionário do aplicativo da carga de notificação. Quando o dispositivo recebe a notificação, ele usa as propriedades do dicionário do aplicativo para encontrar e formatar a string localizada no idioma atual e a exibe para o usuário.

As strings localizadas devem residir no arquivo chamado Localizable.strings na pasta <language>.lproj apropriada. Cada entrada neste arquivo tem uma chave e um valor de string localizada, a string pode ter especificadores de formatação para a substituição de valores variáveis. Quando um aplicativo pede uma determinada string, ele obtém o recurso localizado no idioma atualmente selecionado pelo usuário.

Para receber notificações remotas localizadas, um aplicativo AIR precisa ter pares de valor-chave localizados no arquivo Localizable.strings na pasta <language>/lproj dentro do ipa. Para adicionar o Localizable.strings ao ipa, o desenvolvedor precisa apenas adicionar a pasta <language>.lproj respectiva ao comando adt conforme a seguir:

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

Observe que a pasta lproj precisa estar presente no diretório atual para permitir que o adt mescle os arquivos na pasta lproj apropriada. Se a pasta lproj for chamada de a/b/c/en.lproj , o adt adiciona isso como a/b/c/en.lproj e, por isso, os pares de valor-chave localizados não estarão acessíveis para o aplicativo.

A opção ADT para listar os dispositivos móveis conectados

Você pode usar o seguinte comando para obter informações sobre os dispositivos iOS/AndroidTM conectados:

adt -devices -platform (android | ios)

Usar este comando produz um resultado como o seguinte:

Lista de dispositivos conectados:

Handle   DeviceClass   DeviceUUID                                                    DeviceName

7           iPhone         783fc8af34a6022c924c34fe7025e7e39d9d123b abc’s iPhone


Licenciamento de suporte: recursos do Flash Player Premium para jogos (apenas Flash Player)

O uso combinado da memória de domínio (usado por algumas ferramentas de terceiros no compilador de projeto C/C++ "Alchemy") com a aceleração de hardware do Stage3D precisará de uma licença. Ao usar ambos os recursos combinados, uma marca d'água informativa será exibida no depurador de conteúdo do Flash Player (debug player). Essa exigência de licenciamento não se aplica ao conteúdo que usa aceleração de hardware Stage3D sem memória de domínio (ou memória de domínio sem Stage3D) e não se aplica a nenhum conteúdo usando o Adobe AIR. 

Tratamento de perda de dispositivo

Conteúdo não licenciado continuará a ser executado automaticamente alternando o Stage3D para renderização de software. Para certificar-se de que seu conteúdo trata corretamente a perda do recurso da placa gráfica, ouça o evento Event.CONTEXT3D_CREATE no objeto Stage3D para reinicializar os gráficos de seu conteúdo. Você pode simular um evento de perda de dispositivo chamando context3D.dispose(). (Todo o conteúdo Stage3D deve lidar com a perda de dispositivo, que também pode ocorrer se um conteúdo está bloqueado ou se a proteção de tela for ativada.)

A opção ADT para solucionar conflitos de símbolo ANE no iOS

Você pode usar o seguinte comando para empacotar aplicativos usando esta opção:

 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 exemplo,

 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

Use o valor sim para evitar conflitos de símbolo e o valor não para o mesmo comportamento anterior. Observe que esse recurso ainda não está disponível no Flash Builder/Flash Professional.

Codificação 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);


Alfa e textura compactada


[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);

Diretrizes de autoria

Autoria para o Flash Player 11.4

Para usar o novo Flash Player, você precisará direcionar para o SWF versão 17, passando em um argumento do compilador extra para o compilador Flex: -swf-version=17. As orientações estão abaixo. Se estiver usando o SDK do Adobe Flex:

  • Faça o download do novo playerglobal.swc para Flash Player 11.4
  • Faça o download do SDK Flex 4.5.1 (4.5.1.21328) da tabela do SDK Flex 4.5 SDK.
  • Instale a compilação no ambiente de desenvolvimento
  • No Flash Builder, crie um novo projeto ActionScript: Arquivo -> Novo -> Projeto ActionScript.
  • Abra o painel Propriedades do projeto (clique com o botão direito do mouse e escolha 'Propriedades'). Selecione Compilador do ActionScript na lista à esquerda.
  • Use a opção 'Configurar SDKs Flex' no canto superior direito para apontar o projeto para o Flex compilação 21328. Clique em ok.
  • Configure seu projeto direcionado para SWF versão 17
  • Abra o painel Propriedades do projeto (clique com o botão direito do mouse e escolha 'Propriedades'). Selecione Compilador do ActionScript na lista à esquerda.
  • Adicione à entrada 'Argumentos de compilador adicionais' input: -swf-version=17. Isso assegura que o SWF resultante seja direcionado para SWF versão 17. Se compilar na linha de comando e não no Flash Builder, você precisará adicionar o mesmo argumento de compilador.
  • Certifique-se de ter instalado a nova compilação 11.4 do Flash Player em seu navegador.

Autoria no AIR 3.4 Atualizar para o namespace do AIR 3.4

Você precisa atualizar o arquivo descritor do aplicativo para o namespace 3.4 para acessar as novas APIs e o novo comportamento do AIR 3.4. Se o seu aplicativo não precisar do novo comportamento e das novas APIs do AIR 3.4, não será necessário atualizar o namespace. No entanto, recomendamos que todos os usuários comecem a usar o namespace AIR 3.4 mesmo que ainda não esteja aproveitando os novos recursos do 3.4. Para atualizar o namespace, altere o atributo xmlns no descritor do aplicativo para: <application xmlns="http://ns.adobe.com/air/application/3.4">

Informando um erro

Encontrou um erro? Envie um erro ao banco de dados de erros do Flash Player e Adobe AIR.

O Flash Player e o AIR podem alavancar seu hardware gráfico para decodificar e reproduzir vídeo H.264. Pode haver problemas de vídeo que só podem ser reproduzidos com seu hardware gráfico e driver específicos. Ao relatar um problema envolvendo vídeo, é importante anotar seu hardware gráfico e driver, junto com seu sistema operacional e navegador (ao usar Flash Player), para que possamos reproduzir e investigar os problemas. Certifique-se de incluir estas informações conforme descrito em Instruções para relatar problemas de reprodução de vídeo. Observação: Devido ao alto volume de emails que recebemos, não é possível respondermos a cada solicitação.

Obrigado por usar o Adobe® Flash Player® e o AIR® e por dedicar seu tempo a nos enviar seu feedback!

Requisitos do sistema

Para obter os requisitos de sistema mais recentes do Flash Player e do AIR, leia o documento aqui


Histórico de versões(s) do runtime

 

 Data de lançamento Versão do runtime Aprimoramentos de segurança
21 de agosto de 2012 Flash Player Desktop (Windows, Mac): 11.4.402.265
AIR (Windows, Mac, Mobile): 3.4.0.2540
AIR SDK: 3.4.0.2540
 APSB12-19

Esta obra está licenciada sob uma licença não adaptada da Creative Commons Attribution-Noncommercial-Share Alike 3.0  As publicações do Twitter™ e do Facebook não são cobertas pelos termos do Creative Commons.

Avisos legais   |   Política de privacidade online