Opgeloste problemen

Releasedatum: 8-10-2012

  • Crash bij het navigeren van en naar Flash-inhoud in Internet Explorer (3328165)
  • Kan een toepassing niet in een pakket plaatsen met behulp van een ANE op iOS, dat de initialisatiefunctie niet implementeert. (3325320)
  • Het in een pakket plaatsen mislukt met een null-aanwijzeruitzondering als een IPA in een pakket wordt geplaatst met behulp van alleen de standaardimplementatie in de ANE op iOS. (3325321)
  • Databasegegevens worden gewist voor elke opstart op iOS-simulator. (3329309)
  • WiFi-foutopsporing op iOS: Foutopsporing op iOS werkt niet wanneer de netwerkinterface wordt ingesteld op "Standaard" voor doelspeler AIR3.4 (3325323)

Releasedatum: 21-8-2012

  • Netstream crasht tijdelijk bij het verbreken van de verbinding(3193417)
  • Probleem met het stoppen van liveaudiostreaming op AIR Android(3188340)
  • drawWithQuality () geeft filters niet correct weer op Android-apparaten(3224928)
  • Clipboard.generalClipboard.setData werkt niet op iOS (3226045)
  • Sommige FLV-video-inhoud kan niet worden afgespeeld in Flash Player op Windows(3187569)
  • Alleen rechts audio afspelen in op Flash Player gebaseerde toepassingen in Firefox op Windows(3289279)
  • De functie voor het muisslot uitgeschakeld na het invoeren van de interactieve modus voor het volledige scherm(3174344)
  • [iOS5] TextFields met ingesloten lettertypen die niet leesbaar zijn op mobiele apparaten(3161138)
  • Het eerste frame van bepaalde livestreaminginhoud bevriest (3207896)
  • Toepassingspictogrammen voor 50X50, 100X100, 1024X1024 worden nu ondersteund voor iOS-toepassingen in de Toepassingsbeschrijving(3217144) 
  • Toepassingen die native extensies gebruiken crashen soms op iOS, bijvoorbeeld bij het gebruik van bepaalde externe bibliotheken. Libxml2.dylib (3226974) 
  • Enige afwijking wordt waargenomen wanneer een pakket wordt gemaakt van een opstartafbeelding met een resolutie 768 x 1004 of 1024 x 748 in een iPad-toepassing met volledig scherm. (3230762). De nieuwe richtlijnen voor het gebruik van opstartafbeeldingen zijn hier beschikbaar
  • H264-video's op iOS crashen tijdens het schakelen tussen twee NetStreams die gekoppeld zijn aan een StageVideo-object(3206438)
  • Het probleem met CameraRoll.browseForImage() veroorzaakt verlies van transparantie en resulteert in witte kleuren(3291312)

Nieuwe functies

Releasedatum: 8-10-2012

Vanaf 19-9-2012 is iOS6 SDK niet meer beschikbaar als bètaversie.

Geen nieuwe functies in deze release

Releasedatum: 21-8-2012

  • ActionScript Workers (Flash Player)
  • Sandbox Bridgeondersteuning (Flash Player)
  • Licentieondersteuning: Premiumfuncties van Flash Player voor games (Flash Player)
  • Stage3D "beperkt" profiel voor verhoogd GPU-bereik (Flash Player en AIR)
  • LZMA-ondersteuning voor ByteArray (Flash Player en AIR)
  • StageVideo attachCamera/Camera-verbeteringen (Flash Player en AIR)
  • Gecomprimeerde structuur met alfaondersteuning voor Stage3D (Flash Player en AIR)
  • DXT-codering (Flash Player en AIR)
  • Verouderde Carbon-API's voor AIR (AIR)
  • Directe AIR-implementatie met behulp van ADT (AIR)
  • Pushberichten voor iOS (AIR)
  • Ambient AudioPlaybackMode (AIR)
  • Uitzonderingsondersteuning in native extensies voor iOS (AIR)
  • Nieuwe optie in ADT om de gekoppelde mobiele apparaten weer te geven (AIR)
  • ADT-optie voor de oplossing van conflicten met ANE-symbolen op iOS (AIR)

Voor een volledige lijst met eigenschappen in Flash Player en AIR, zoals eigenschappen die in vorige releases werden geïntroduceerd, raadpleegt u het document hier.

Uitgebrachte versies

Product Uitgebrachte versie
 Flash Player Desktop (Windows® /Mac)  11.4.402.287
 AIR (Windows® , Mac, Mobile)  3.4.0.2710
 AIR SDK  3.4.0.2710

Bekende problemen

Releasedatum: 21-8-2012
  • transformVector() van Matrix3D transformeert de w-component incorrect(3190677)
  • [iOS] Op iOS 4.3 worden gecomprimeerde cubemaps met alfa niet correct weergegeven(3282166)
  • navigateToURL-problemen met hoge ASCII-tekens werkt niet correct voor AIR Desktop-toepassingen(3161093)
  • [iOS] Op bepaalde inhoud mislukt het installeren van een IPA-bestand soms met de installatiefout: PackageExtractionFailed(3220974)
  • Bij het gebruik van de –hideAneLibSymbols-markering tijdens het in een pakket plaatsen van een toepassing voor iOS, mogen alleen de framework- en bibliotheekkoppelingsopties en opties zoals -ios_version_min in het platform.xml-bestand van ANE worden gebruikt
Adobe werkt verder met de iOS 6 Beta SDK en het oplossen van problemen. Huidige bekende problemen zijn:
  • Het dialoogvenster Geo-locatietoestemming verschijnt niet op iOS 6 Beta(3291688)
  • AIR-toepassingen die in een pakket zijn geplaatst met AIR 3.4 SDK & iOS 6 Beta SDK ondersteunen AutoOrients niet voor Ondersteboven op iPod en iPhone(3286288)
  • Elke toepassing die in een pakket wordt geplaatst met AIR 3.4 SDK en iOS 6 Beta SDK biedt geen ondersteuning voor de aspectRatio-tag op een iOS 5.1-apparaat(3286320)

Verbeterde beveiliging

Beveiligingsbulletin Betrokken producten
 APSB12-22  Flash Player Desktop Windows® & Mac

 Flash Player AndroidTM

Nieuwe functies: overzicht


ActionScript Workers

  • Met de introductie van Workers in ActionScript en de Flash-runtime kunnen Flash-ontwikkelaars nu een offload uitvoeren voor bepaalde taken zoals hoog-latentieverrichtingen en langlopende berekeningen op "Achtergrondworkers". Deze achtergrondworkers worden tegelijk uitgevoerd om meer computermiddelen te benutten en problemen zoals het vastzetten van de gebruikersinterface te vermijden. 
  • Opmerking: De volgende versie van Flash Builder is vereist om workers in ActionScript ten volle te benutten en workers te debuggen. Deze volgende versie van Flash Builder wordt via een openbare bètaversie augustus beschikbaar gemaakt.
  • Opmerking: Gedeeld-geheugenondersteuning (ByteArray.shareable) wordt verplaatst naar een toekomstige versie van Flash Player.

Sandbox Bridgeondersteuning

  • Met sandboxbridging kunnen specifieke ActionScript-objecten of -functies toegankelijk worden gemaakt tussen SWF-aan-SWF-communicatie in domeinen. Deze functie is al beschikbaar in AIR is en wordt overgebracht naar Flash Player in deze release.

Licentieondersteuning: Premiumfuncties van Flash Player voor games (Flash Player)

  • Met de introductie van premiumfuncties voor games kunnen niet-ActionScript-workflows nu Flash Player als doel hebben. Deze versie ondersteunt het licentiebeheer van premiumfuncties van de XC API's (het gecombineerde gebruik van de domeingeheugen-API en de hardwareversnellings-API van Stage 3D) in Flash Player. Deze API's worden gebruikt door bepaalde hulpmiddelen van derden zoals Unity en de Project "Alchemy" C/C++-compiler van Adobe. Voor meer informatie gaat u naar www.adobe.com/go/fpl_nl.

Stage3D "beperkt" profiel voor verhoogd GPU-bereik

  • In Flash Player wordt de ondersteuning van hardwareversnelling gebaseerd op de datum van het stuurprogramma van uw videokaart. Bij eerdere releases wordt deze ondersteuning geblokkeerd voor stuurprogramma's die ouder zijn dan 1 januari 2008. Bij deze release is deze limiet teruggebracht naar 1 januari 2006. Op inhoud die gebruikmaakt van wmode=direct (of renderMode=direct voor AIR) moet, indien mogelijk, hardwareversnelling worden toegepast bij stuurprogramma's van grafische kaarten die jonger zijn dan 1 januari 2006. Dit is van toepassing op Stage3D- en [StageVideo|StageVideo]-API's. Bovendien hebben we een nieuw profiel, genaamd 'beperkt profiel', toegevoegd voor Stage3D zodat een hardwareversnelling kan worden toegepast voor uw inhoud op eerder op de zwarte lijst geplaatste Intel® GMA-chipsets. Zie hieronder voor nadere informatie over dit nieuwe profiel en hoe u dit kunt benutten.

LZMA-ondersteuning voor ByteArray

  • Naast zlib-compressie van ByteArray introduceren we een extra compressietype op basis van LZMA om gegevens in een ByteArray met ByteArray.compress() en ByteArray.uncompress() te comprimeren.

Gecomprimeerde structuur met alfaondersteuning voor Stage3D (Flash Player en AIR)

  • Transparante afbeeldingen worden nu ondersteund voor gecomprimeerde structuren (ATF-bestandsindeling).

StageVideo attachCamera/Camera-verbeteringen

  • Deze functie maakt een nieuwe methode op StageVideo-objecten beschikbaar die de ActionScript-code toestaat om de videostream van de camera naar een StageVideo-object te sturen waarbij de GPU wordt benut voor rendering in plaats van te worden omgezet naar pixels. Hierdoor kan de speler sneller een videostream van de camera verwerken wanneer GPU-versnelling beschikbaar is.

DXT-codering

  • Deze functie maakt het coderen van ongecomprimeerde structuren in de DXT-indeling tijdens runtime mogelijk, zodat de structuur kan worden geüpload naar de GPU als een gecomprimeerde DXT-structuur.
    Op het bureaublad beschikbaar voor zowel Flash Player 11.4 en AIR 3.4

Verouderde Carbon-API's voor AIR

  • Vanaf Mac OS X 10.8 worden Carbon-API's niet meer ondersteund door Apple. Deze API's en andere verouderde code wordt daarom verwijderd van AIR in deze release om pariteit te bereiken met Mac OSX 10.8.
Directe AIR-implementatie met behulp van ADT
  • Met deze nieuwe functie kunnen ontwikkelaars een AIR-toepassing ontwikkelen op iOS apparaten zonder iTunes of XCode te gebruiken. Houd er rekening mee dat iTunes 10.5.0 of hoger op de computer van de gebruiker moet zijn geïnstalleerd om deze functie te kunnen gebruiken.

iOS-pushberichten

  • Deze functie zal APNS (Apple Push Notification Service) en een provider (server van derden die zal communiceren met de APN) gebruiken om berichten te genereren. Een nieuw pakket, flash.notifications, is geïntroduceerd. De levering van pushberichten is geheel afhankelijk van de Apple Push Notification Service en APNS garandeert de levering van pushberichten niet. Apple raadt aan om in te schrijven op pushberichten telkens wanneer een toepassing wordt gestart. Telkens de clienttoepassing inschrijft op pushberichten, biedt APNS een token-id aan de clienttoepassing en deze token-id moet worden verzonden naar de server of provider van derden die de externe berichten zal verzenden.

Ambient AudioPlaybackMode

  • Met AIR 3.4 beschikken gebruikers over een extra AudioPlaybackMode ofwel AMBIENT behalve VOICE en MEDIA. Met deze nieuwe AudioPlaybackMode kunnen de gebruikers de toepassing dwingen de schakelaar voor het dempen van hardware in iPhone(s)/iPad(s) na te leven. De beste use case voor deze Ambient-afspeelmodus zijn de gametoepassingen waar de gebruiker van de toepassing de keuze heeft om het geluid van de game te dempen en naar de muziek van een andere toepassing op de achtergrond te luisteren. In de Ambient-modus respecteert de audio de schakelaar voor het dempen van hardware alleen op iOS-apparaten. Op AndroidTM-apparaten zal de Ambient-modus zich net als de Media-modus gedragen.

Uitzonderingsondersteuning in native extensies voor iOS

  • Een native extensie voor iOS kan nu zowel C++- als Objective-C-uitzonderingen gebruiken. Het is aan de extensie alle uitzonderingen af te vangen die in de code worden gegenereerd. De runtime zal de uitzonderingen die door extensies worden gegenereerd, niet afvangen.

ADT-optie om de gekoppelde mobiele apparaten weer te geven

  • Een nieuwe optie '-devices' is toegevoegd aan ADT om de gekoppelde iOS/AndroidTM-apparaten weer te geven. Gebruikers kunnen deze optie gebruiken in plaats van adb te gebruiken voor het weergeven van AndroidTM-apparaten en idb voor het weergeven van iOS-apparaten. Houd er rekening mee dat iTunes 10.5.0 of hoger op de computer van de gebruiker moet zijn geïnstalleerd om deze functie te kunnen gebruiken.

ADT-optie voor de oplossing van conflicten met ANE-symbolen op iOS

  • Aangezien ontwikkelaars van toepassingen meerdere native extensies uit diverse bronnen kunnen gebruiken, kan een gemeenschappelijke symboolnaam in de 2 ANE's een verpakkingsfout veroorzaken met de mededeling dat er een duplicaatsymbool aanwezig is in de objectbestanden of een crash bij uitvoering. Om dit probleem te vermijden is er een nieuwe ADT-optie -hideAneLibSymbols, geïntroduceerd, die op het moment van het in een pakket plaatsen van de toepassing kan worden opgegeven. Het kan de waarden – ja of nee hebben, waarbij ja de bibliotheeksymbolen van elke ANE verbergt voor andere ANE's.

Nieuwe functies: gebruiksrichtlijnen

Aan de slag met workers

Als u met de workerfunctie wilt starten, raadpleegt u de voorbeelden in het bestand flashplayer11-4_p1_ex_concurrency.zip.

Opmerking

Hieronder vindt u het geheugenverbruik dat wordt gemeten per worker op MacOs en Windows®:

#'s van workers

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

Computer 
Windows® 7 (32 bit) 
Intel® Xeon Quad core 3,2 GHz 
2048 MB RAM 
Windows® 7 
geheugen (MB)

Lenovo T61-laptop 
Windows® XP 
Intel® CoreTM Duo Core 2,2 GHz 
2014 MB RAM 
Windows® XP 
geheugen (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

Wanneer de code binnen de context van een niet-fundamentele worker (dus de achtergrond) wordt uitgevoerd, zal bepaald gedrag van de Flash Runtime-API verschillen van het gedrag ActionScript-code dat in de hoofdthread wordt uitgevoerd. De volgende API's zullen zich anders gedragen wanneer deze worden gebruikt vanuit een achtergrondworker.

Niet-functionele API's

De volgende API's zullen niet beschikbaar zijn vanuit een achtergrondworker. Elke poging om een instantie van een van deze items te maken, zal een IllegalOperationError veroorzaken met de melding "Deze functie is niet beschikbaar in deze context". De errorID zal dezelfde zijn in alle instanties, waardoor ontwikkelaars kunnen starten vanaf deze waarde.

  • flash.desktop.Clipboard // constructor aanroepen genereert een fout, generalClipboard aanroepen retourneert null
  • flash.desktop.NativeDragManager // isSupported retourneert false
  • flash.desktop.Updater // isSupported retourneert false
  • flash.display.NativeMenu // isSupported retourneert false
  • flash.display.NativeWindow // isSupported retourneert false
  • flash.display.ToastWindow // kan geen toegang krijgen tot instantie omdat stage.window nooit wordt gedefinieerd
  • flash.display.Window // kan geen toegang krijgen tot instantie omdat stage.window nooit wordt gedefinieerd
  • flash.external.ExtensionContext // createExtensionContext() zal altijd null retourneren of een fout genereren
  • flash.external.ExternalInterface // beschikbaar retourneert false
  • flash.html.* // HTMLLoader.isSupported retourneert false
  • flash.media.CameraRoll // supportsAddBitmapData en supportsBrowseForImage retourneert false
  • flash.media.CameraUI // isSupported retourneert false
  • flash.media.StageWebView // isSupported retourneert false
  • flash.net.drm.* // DRMManager.isSupported retourneert false
  • flash.printing.* // PrintJob.isSupported retourneert false
  • flash.security.XMLSignatureValidator // isSupported retourneert false
  • flash.system.IME // isSupported retourneert false
  • flash.system.SystemUpdater // constructor aanroepen genereert een fout
  • flash.text.StageText // constructor aanroepen genereert een fout
  • flash.ui.ContextMenu // isSupported retourneert false
  • flash.ui.GameInput // isSupported retourneert false
  • flash.ui.Mouse // alle methoden zijn no-ops; het instellen van de eigenschap 'cursor' is een no-op

Gedragsveranderingen in API's

De volgende API's vertonen een ander gedrag wanneer ze worden uitgevoerd vanuit een achtergrondworker. Sommige aanroepen van methoden zijn no-ops terwijl andere een IllegalOperationError of een equivalent genereren in overeenstemming met de gedocumenteerde API. Geretourneerde waarden moeten zo consistent mogelijk zijn met de documentatie. Als een methode bijvoorbeeld een array retourneert die in normale omstandigheden elementen bevat, zal deze methode een lege array retourneren als deze wordt uitgevoerd vanuit een achtergrondworker.

  • flash.accessibility.Accessibilty
    • active // retourneert altijd false
    • updateProperties(); // no-op
  • flash.desktop.NativeApplication**-eigenschappen

·          

  • flash.display.Stage
    • allowsFullScreen // retourneert altijd false
    • stage3Ds // retourneert altijd lege vector
    • stageVideos // retourneert altijd lege vector
    • supportsOrientationChange // retourneert altijd false
    • wmodeGPU // retourneert altijd false
  • flash.filesystem.File
    • browseForDirectory(), browseForOpen(), browseForOpenMultiple(), browseForSave() // no-op
  • flash.net.FileReference** browse(), download(), save() // no-op; retourneert altijd false
  • flash.net.FileReferenceList** browse() // no-op; retourneert altijd false
  • flash.system.System
    • ime // retourneert altijd null
    • exit() // dwingt deze achtergrondworker te stoppen en af te sluiten
    • setClipboard() // no-op
  •  
    • methoden
      • activate(), clear(), copy(), cut(), paste(), selectAll() // no-op
      • exit() // dwingt deze achtergrondworker te stoppen en af te sluiten
    • evenementen
      • alleen een afsluitgebeurtenis wordt ondersteund – deze gebeurtenis wordt verzonden wanneer de worker sluit (gebeurt ofwel met aanroepen van levenscyclusmethoden of wanneer de hoofdworker sluit, dat wil zeggen: de runtime sluit af; kan niet worden geannuleerd vanuit de achtergrondworker)
    •  
      • supportsDefaultApplication, supportsDockIcon, supportsMenu, supportsStartAtLogin, supportsSystemTrayIcon // retourneren allemaal false
      • activeWindow // retourneert null
      • autoExit // setter is een no-op
      • idleThreshold // setter is een no-op
      • openedWindows // retourneert een lege array []
      • systemIdleMode // setter is een no-op

Verhoogd GPU-Bereik - Beperkt Stage3D-profiel

Er is een nieuwe parameter voor Context3D geïntroduceerd genaamd "profiel". Deze parameter wordt geleverd aan de functie Stage3D.requestContext3D() en u kunt er een van twee waarden aan toekennen: Context3DProfile.BASELINE ("baseline") dat de typische Context3D retourneert die in vorige releases bestond, of Context3DProfile.BASELINE_CONSTRAINED ("baselineConstrained") dat een nieuw type Context3D retourneert dat in staat is om te worden uitgevoerd met hardwareversnelling op eerder niet-ondersteunde GPU's. Met het beperkte profiel kunnen auteurs Stage3D-inhoud maken voor oudere systemen met behulp van grafische kaarten zoals Intel® GMA 900/950 op Windows®. De verhouding voor eenvoudige hardware met het Beperkte profiel is dat de Stage3D-mogelijkheden worden beperkt om ervoor te zorgen dat de inhoud goed met die hardware wordt uitgevoerd. Kaarten zoals de GMA 900/950 ondersteunen alleen pixel/vertexarcering versie 2.0 die de volgende limieten afdwingt op Stage3D bij Beperkt profiel:

  • Beperkt tot 64 ALU- en 32 structuurinstructies per arcering.
  • Slecht 4 structuurleesindirecties per arcering.
  • Beperkt tot een kleiner aantal constanten/variaties/tijdelijke gegevens per arcering.
  • Geen ondersteuning voor predikaatregister. Dit is van invloed op sln/sge/seq/sne en moet vervangen worden door samengestelde mov/cmp-instructies die beschikbaar zijn met ps_2_0 (dit wordt onder de kap ten koste van het gebruik van meer instructieslots in vergelijking met ps_2_x).
  • De achterbuffer van Context3D moet altijd binnen de grenzen van het werkgebied zijn.
  • Slechts één instantie van een Context3D die in Beperkt profiel wordt uitgevoerd, is toegestaan in een Flash Player-instantie.
  • Net als bij mobiele elementen worden de klassieke Flash-weergavelijstelementen niet bijgewerkt terwijl de beperkte Stage3D-inhoud zichtbaar is, tenzij Context3D.present() wordt aangeroepen.

Het "profiel" is de tweede optionele parameter van de requestContext3D-methode. Ontwikkelaars kunnen het profiel "baselineConstained" vragen om een Context3D in beperkte modus op te halen, terwijl de API hieronder hte volgende weergeeft: functie requestContext3D (context3DRenderMode: Tekenreeks = "auto", profiel: Tekenreeks = "baseline"): void;
Voorbeeld:

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

Directe AIR-implementatie met behulp van ADT

Installeren:
Als u een IPA op een apparaat wilt installeren, gebruikt u de volgende opdracht:
adt -installApp -platform ios -device <deviceID> -package <ipa-file> 
Verwijderen:
Met de volgende opdracht verwijdert u de installatie van een IPA van een apparaat:
adt -uninstallApp -platform ios -device <deviceID> -appid <app-id> 
De <deviceID> van uw gekoppelde apparaat is de 'Handle'-waarde die door de volgende opdracht wordt vermeld:
@SDKLocation/bin/adt –devices –platform ios 
<app-id> is opgegeven in de toepassingsdescriptor (app.xml) binnen de <id>-tag. Als u uw project met Flash Builder maakt, is deze standaard hetzelfde als de naam van uw toepassing. 

Als slechts één apparaat op de bureaubladcomputer is aangesloten, kunt u het argument '-device <deviceID> ' weglaten en de toepassing zal worden geïnstalleerd/verwijderd op het aangesloten apparaat.
adt -installApp -platform ios -package <ipa-file> 

iOS-pushberichten

1)     De app-id (id-markering) is de app-xml en moet dezelfde zijn als de toepassings-id van het mobiele inrichtingscertificaat dat met pushberichten is ingeschakeld.
2)     Bevat de aps-omgevingsrechten in uw toepassingsdescriptor:

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

Voor het verzenden van de app naar de App Store met pushberichten ingeschakeld, moet de aps-omgeving worden ingesteld op productie. De ontwikkelaar moet het inrichtingsprofiel gebruiken met pushberichten ingeschakeld. Controleer de rechten van de ondertekende toepassing met behulp van de volgende opdracht.

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

3) Gebruik de nieuwe toegevoegde flash.notification-klasse in de toepassing om ondersteuning voor pushberichten in te schakelen. Bijvoorbeeld,

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

De clienttoepassing kan in de bundel de waarschuwingsberichttekenreeksen opslaan die worden omgezet voor elke lokalisatie die deze ondersteunt. De provider geeft de eigenschappen loc-key en loc-args op in het aps-woordenboek van de berichtpayload. Wanneer het apparaat het bericht ontvangt, gebruikt het de aps-woordenboekeigenschappen om de tekenreeks te zoeken en op te maken die voor de huidige taal wordt gelokaliseerd en geeft het vervolgens weer aan de gebruiker.

Gelokaliseerde tekenreeksen moeten zich in het bestand genaamd Localizable.strings bevinden in de juiste <language>.lproj-map. Elk item in dit bestand heeft een sleutel en een gelokaliseerde tekenreekswaarde, de tekenreeks kan indelingsopgaven bevatten voor het vervangen van variabelenwaarden. Wanneer een toepassing om een bepaalde tekenreeks vraagt, krijgt deze de bron die is gelokaliseerd voor de taal die op dit moment door de gebruiker is geselecteerd.

Als u gelokaliseerde externe berichten wilt ontvangen, moet een AIR-toepassing gelokaliseerde sleutel-waardeparen bevatten in het bestand Localizable.strings in de <language>/lproj-map in de IPA. Als u Localizable.strings in de IPA wilt toevoegen, moet de ontwikkelaar alleen de respectievelijke <language>.lproj-map in de ADT-opdracht als volgt toevoegen:

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

Houd er rekening mee dat de lproj-map in de huidige map aanwezig moet zijn, zodat de ADT de bestanden kan samenvoegen in de juiste lproj-map. Als de lproj-map is opgegeven als a/b/c/en.lproj, voegt ADT deze toe als a/b/c/en.lproj en zijn gelokaliseerde sleutel-waardeparen niet toegankelijk voor de toepassing.

ADT-optie om de gekoppelde mobiele apparaten weer te geven

U kunt de volgende opdracht gebruiken om informatie over de gekoppelde iOS/AndroidTM-apparaten op te halen:

adt -devices -platform (android | ios)

Deze opdracht geeft een uitvoer als de volgende:

Lijst met gekoppelde apparaten:

Handle   DeviceClass   DeviceUUID                                                    DeviceName

7           iPhone         783fc8af34a6022c924c34fe7025e7e39d9d123b abc’s iPhone


Licentieondersteuning: Premiumfuncties van Flash Player voor games (alleen Flash Player)

Het gecombineerde gebruik van domeingeheugen (gebruikt door sommige hulpmiddelen van derden en de Project "Alchemy" C/C++-compiler) met Stage3D-hardwareversnelling vereist een licentie. Wanneer beide functies in combinatie worden gebruikt, wordt een informatiewatermerk weergegeven in de foutopsporing voor Flash Player-inhoud (foutopsporingsspeler). Deze licentievereiste is niet van toepassing op inhoud die Stage3D-hardwareversnelling gebruikt zonder domeingeheugen (of domeingeheugen zonder Stage3D) en is niet van toepassing op inhoud die is geïmplementeerd met behulp van Adobe AIR. 

Apparaatverlies afhandelen

Inhoud zonder licentie wordt verder uitgevoerd door Stage3D automatisch om te schakelen naar softwarerendering. Om ervoor te zorgen dat uw inhoud het verlies van de grafische kaart als bron correct afhandelt, luistert naar de Event.CONTEXT3D_CREATE-gebeurtenis op het Stage3D-object om de afbeeldingen van uw inhoud opnieuwe te initialiseren. U kunt een apparaatverliesgebeurtenis simuleren door context3D.dispose() aan te roepen. (Alle Stage3D-inhoud moet apparaatverlies afhandelen, dat ook kan optreden als een computer is vergrendeld of als de schermbeveiliging wordt geactiveerd.)

ADT-optie voor de oplossing van conflicten met ANE-symbolen op iOS

U kunt de volgende opdracht gebruiken om toepassingen in een pakket te plaatsen met behulp van deze optie:

 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? )

Bijvoorbeeld,

 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

Gebruik de waarde ja om symboolconflicten te vermijden en de waarde nee voor hetzelfde gedrag als tevoren. Houd er rekening mee dat deze functie nog niet beschikbaar is in Flash Builder en Flash Professional.

DXT-codering


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


Gecomprimeerde structuur en 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);

Ontwerprichtlijnen

Ontwerpen voor Flash Player 11.4

Als u de nieuwe Flash Player wilt gebruiken, moet u SWF-versie 17 gebruiken door in een extra compilerargument door te geven naar de Flex-compiler: - swf-version=17. De aanwijzingen vindt u hieronder. Als u de Adobe Flex SDK gebruikt:

  • Download de nieuwe playerglobal.swc voor Flash Player 11.4
  • Download Flex 4.5.1 SDK (4.5.1.21328) van de Flex 4.5 SDK-tabel.
  • Installeer de build in uw ontwikkelomgeving
  • In Flash Builder maakt u een nieuw ActionScript-project: Bestand -> Nieuw -> ActionScript-project.
  • Open de het deelvenster Eigenschappen van het project (klik met de rechtermuisknop en selecteer "Eigenschappen"). Selecteer ActionScript Compiler in de lijst aan de linkerkant.
  • Gebruik de optie "Flex SDK's configureren" in de rechterbovenhoek om het project te richten naar Flex-build 21328. Klik op OK.
  • Uw project configureren om SWF-versie 17 te gebruiken
  • Open de het deelvenster Eigenschappen van het project (klik met de rechtermuisknop en selecteer "Eigenschappen"). Selecteer ActionScript Compiler in de lijst aan de linkerkant.
  • Voeg toe aan de invoer "Aanvullende compilerargumenten": - swf-version=17. Dit zorgt ervoor dat de SWF-uitvoer SWF-versie 17 gebruikt. Als u op de opdrachtregel en niet in Flash Builder compileert, moet u hetzelfde compilerargument toevoegen.
  • Controleer of u de nieuwe Flash Player 11.4-build in uw browser hebt geïnstalleerd.

Ontwerpen voor AIR 3.4 Bijwerken naar de AIR 3.4-naamruimte

U moet uw toepassingsbeschrijving bijwerken naar de 3.4-naamruimte om toegang te krijgen naar de nieuwe API's en gedragingen van AIR 3.4. Als uw toepassing de nieuwe API's en gedragingen van AIR 3.4 niet vereist, moet u de naamruimte niet bijwerken. Wij raden echter alle gebruikers aan de AIR 3.4-naamruimte te gebruiken, zelfs als u de nieuwe 3.4-mogelijkheden nog niet gebruikt. Als u de naamruimte wilt bijwerken, wijzigt u het xmlns-attribuut in uw toepassingsbeschrijving in: <application xmlns="http://ns.adobe.com/air/application/3.4">

Een probleem melden

Hebt u een probleem gevonden? Stuur dan een foutmelding voor Flash Player en Adobe AIR naar de database met fouten.

Flash Player en AIR gebruiken uw grafische hardware om H.264-video te decoderen en af te spelen. Er zijn mogelijk videoproblemen die alleen kunnen worden gereproduceerd met uw specifieke grafische hardware en stuurprogramma. Wanneer u een videoprobleem rapporteert, is het essentieel dat u ook uw type grafische hardware en het bijbehorende stuurprogramma opgeeft, samen met uw besturingssysteem en browser (wanneer u Flash Player gebruikt), zodat we het probleem kunnen reproduceren en onderzoeken. Zorg ervoor dat u de informatie opneemt die wordt beschreven in Instructies voor het rapporteren van problemen bij het afspelen van video. Opmerking: vanwege het grote aantal e-mailberichten dat we ontvangen, kunnen we niet op elk verzoek reageren.

Bedankt dat u hebt gekozen voor Adobe® Flash Player® en AIR® en voor uw feedback!

Systeemvereisten

De meest recente systeemvereisten voor Flash Player en AIR raadpleegt u het document hier


Geschiedenis van runtimeversie(s)

 

 Releasedatum Runtimeversie Verbeterde beveiliging
21 augustus 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

Dit werk is gelicentieerd onder de Creative Commons Naamsvermelding/Niet-commercieel/Gelijk delen 3.0 Unported-licentie  De voorwaarden van Creative Commons zijn niet van toepassing op Twitter™- en Facebook-berichten.

Juridische kennisgevingen   |   Online privacybeleid