Åtgärdade fel 

Releasedatum: 2012-10-08

  • Kraschar vid navigering till och från Flash-innehåll i Internet Explorer (3328165)
  • Det går inte att paketera ett program med en ANE-fil på iOS, som inte implementerar funktionen finalizer. (3325320)
  • Paketering misslyckas med ett undantagsfel om null-pekare vid paketering av en IPA-fil med endast standardimplementeringen i ANE på iOS. (3325321)
  • Databasdata rensas bort vid varje start på iOS-simulatorn. (3329309)
  • WiFi-felsökning på iOS: Felsökning på iOS fungerar inte när nätverksgränssnittet "Standard" väljs för målspelare AIR3.4 (3325323)

Releasedatum: 2012-08-21

  • Netstream kraschar ibland vid frånkoppling (3193417)
  • Problem med att stoppa direktuppspelat ljud på AIR Android (3188340)
  • drawWithQuality() återger inte filter korrekt på Android-enheter (3224928)
  • Clipboard.generalClipboard.setData fungerar inte på iOS (3226045)
  • Visst FLV-videoinnehåll spelas inte upp i Flash Player på Windows (3187569)
  • Endast ljud på höger sida spelas upp i Flash Player-baserade program i Firefox på Windows (3289279)
  • Funktionen Mouse Lock inaktiveras när läget Full Screen Interactive aktiveras (3174344)
  • [iOS5] Textfält med inbäddade teckensnitt återges inte korrekt på mobila enheter (3161138)
  • Den första bildrutan fryser i visst direktåtergivet innehåll (3207896)
  • Programikoner för 50x50, 100x100 och 1024x1024 stöds nu för iOS-program i programbeskrivningen (3217144)
  • Program som använder ANE-tillägg kraschar ibland på iOS, t.ex. när vissa externa bibliotek används. Libxml2.dylib (3226974) 
  • Viss avvikelse noteras när en startbild med upplösningen 768x1004 eller 1024x748 paketeras i ett iPad-program avsett för helskärm. (3230762). De nya instruktionerna om hur du använder startbilder hittar du här
  • H264-videor på iOS kraschar vid växling mellan två NetStreams som är kopplade till ett StageVideo-objekt (3206438)
  • Ett problem med CameraRoll.browseForImage() orsakar förlust av genomskinlighet, vilket resulterar i vit färg (3291312)

Nya funktioner 

Releasedatum: 2012-10-08

Från och med 19/9 2012 är iOS6 SDK inte längre i betaversionen.

Det finns inga nya funktioner i den här versionen

Releasedatum: 2012-08-21

  • ActionScript-arbetare (Flash Player)
  • Stöd för sandlådebrygga (Flash Player)
  • Stöd för licensiering: Flash Player Premium-funktioner för spel (Flash Player)
  • "Begränsad" Stage3D-profil för funktion med fler GPU:er (Flash Player och AIR)
  • LZMA-support för ByteArray (Flash Player och AIR)
  • Förbättringar i attachCamera/Camera i StageVideo (Flash Player och AIR)
  • Komprimerad textur med alfastöd för Stage3D (Flash Player och AIR)
  • DXT-kodning (Flash Player och AIR)
  • Carbon-API:er för AIR har tagits bort (AIR)
  • Direkt distribution av AIR med AIR Developer Tool, ADT (AIR)
  • Push-meddelanden för iOS (AIR)
  • Ambient AudioPlaybackMode (AIR)
  • Stöd för undantag i ANE-tillägg för iOS (AIR)
  • Nytt alternativ i AIR Developer Tool, ADT, som listar anslutna mobilenheter (AIR)
  • ADT-alternativ som åtgärdar symbolkonflikter i ANE-tillägg på iOS (AIR)

En fullständig lista med funktioner i Flash Player och AIR, inklusive funktioner som introducerats i föregående versioner, finns i dokumentet här

Släppta versioner

Produkt Släppt version
 Flash Player Desktop (Windows®/Mac)  11.4.402.287
 AIR (Windows®, Mac, Mobile)  3.4.0.2710
 AIR SDK  3.4.0.2710

Kända fel 

Releasedatum 2012-08-21
  • transformVector() i Matrix3D omformar w-komponenten felaktigt (3190677)
  • [iOS] På iOS 4.3 återges Compressed Cubemaps med alfa inte korrekt (3282166)
  • navigateToURL – problem med tecken med höga ASCII, fungerar inte på rätt sätt på skrivbordsprogram för AIR (3161093)
  • [iOS] I visst innehåll misslyckas det ibland att installera en .ipa-fil med AIR 3.4. Installationsfel: PackageExtractionFailed (3220974)
  • När flaggan -hideAneLibSymbols används när ett program paketeras för iOS, ska endast länkalternativen framework och library linking, och alternativ som -ios_version_min, användas i ANE-filen platform.xml
Adobe fortsätter att arbeta med betaversionen av iOS 6 SDK och lösa problem. Aktuella kända fel är:
  • Dialogrutan Geo-local permission visas inte i iOS 6 Beta (3291688)
  • AIR-program som paketeras med AIR 3.4 SDK och iOS 6 Beta SDK stöder inte AutoOrients för upp-och-ned på iPod och iPhone (3286288)
  • Inga program som paktereras med AIR 3.4 SDK och iOS 6 Beta SDK stöder taggen aspectRatio på iOS 5.1-enheter (3286320)

Säkerhetsförbättringar

Säkerhetsrapport Gäller dessa produkter
 APSB12-22  Flash Player Desktop Windows® och Mac

 Flash Player AndroidTM

Nya funktioner: Översikt


ActionScript-arbetare

  • Nu introduceras arbetare i ActionScript och Flash Runtime, vilket innebär att utvecklare av Flash-program kan låta t.ex. operationer med stor tidsfördröjning och tidskrävande beräkningar utföras av "bakgrundsarbetare". Dessa bakgrundsarbetare körs samtidigt så att maskinresurserna kan utnyttjas bättre och för att undvika att gränssnittet fryser. 
  • Obs! Om du vill utnyttja ActionScript-arbetare på bästa sätt och kunna felsöka arbetare, krävs nästa version av Flash Builder. Denna version av Flash Builder kommer att göras tillgänglig via en allmän betaversion runt augusti.
  • Obs! Stöd för delat minne (ByteArray.shareable) har flyttats till en senare version av Flash Player.

Stöd för sandlådebrygga

  • Sandlådebryggor gör att vissa ActionScript-objekt och -funktioner i en SWF-fil kan kommunicera med en SWF-fil i en annan domän. Den här funktionen finns redan i AIR och införs i Flash Player i den här versionen.

Stöd för licensiering: Flash Player Premium Features för spel (Flash Player)

  • Nu när vi introducerar Premium Features för spel, blir det möjligt för icke-ActionScript-arbetsflöden att ha Flash Player som mål. Den här versionen stöder Premium Features licenskontroll för XC-API:erna i Flash Player (använd domänminnets API i kombination med Stage3D:s hårdvaruaccelerations-API). Dessa API:er används av vissa verktyg från tredje part, t.ex Unity och Adobes Project "Alchemy" C/C++-kompilator. Mer information finns på www.adobe.com/go/fpl_se.

"Begränsad" Stage3D-profil för funktion med fler GPU:er

  • Flash Player begränsar användningen av maskinvaruacceleration baserat på datumet på grafikkortets drivrutin. I tidigare versioner fanns inte stöd för drivrutiner som är äldre än 1 januari 2008. Detta ändras i den här versionen, och stöd finns inte för drivrutiner som är äldre än 1 januari 2006. Innehåll som använder wmode=direct (eller renderMode=direct för AIR) bör om möjligt använda maskinvaruacceleration på grafikkort med drivrutiner som har ett senare datum än 1 januari 2006. Detta gäller API:erna för Stage3D och [StageVideo|StageVideo]. Vi har dessutom infört en ny profil för Stage3D, den s.k. "begränsade" profilen. Med den kan ditt innehåll köras maskinvaruaccelererat på de Intel® GMA-chipset som tidigare var svartlistade. Läs längre ned om den nya profilen och hur du använder den.

LZMA-stöd för ByteArray

  • Förutom zlib-komprimering av ByteArray introducerar vi ytterligare en komprimeringstyp som är baserad på LZMA för komprimering av data inuti en ByteArray, via ByteArray.compress() och ByteArray.uncompress().

Komprimerad textur med alfastöd för Stage3D (Flash Player och AIR)

  • Genomskinliga bilder stöds nu i komprimerade texturer (ATF-filformat).

Förbättringar i attachCamera/Camera i StageVideo

  • Det här är en ny metod som kan användas på StageVideo-objekt. ActionScript-koden kan dirigera videoströmmen från kameran till ett StageVideo-objekt och utnyttja GPU:n för återgivning istället för rastreraren. På så sätt kan spelaren bearbeta videoströmmen från kameran mycket snabbare när GPU-acceleration är tillgänglig.

DXT-kodning

  • Med den här funktionen kan okomprimerade texturer kodas till DTX-format under körning, så att texturen kan laddas till GPU:n som en komprimerad DTX-tektur.
    Tillgänglig på skrivbordet för både Flash Player 11.4 och AIR 3.4

Carbon-API:er för AIR har tagits bort

  • Från och med Mac OS X 10.8 kommer Carbon-API:er inte längre att stödas av Apple. För att stämma överens med Mac OS X 10.8 tas därför dessa API:er och annan utgången kod bort från den här versionen av AIR.
Direkt distribution av AIR med AIR Developer Tool, ADT
  • Med en här nya funktionen kan utvecklare distribuera AIR-program på iOS-enheter utan att använda iTunes eller XCode. Obs! iTunes 10.5.0 eller senare måste vara installerat på användarens dator för att den här funktionen ska fungera.

Push-meddelanden för iOS

  • Den här funktionen genererar meddelanden med hjälp av APNS (Apple Push Notification Service) och en leverantör (server från tredje part som ska kommunicera med APN:en). Ett nytt paket, flash.notifications, har lagts till. Leveransen av push-meddelanden är helt beroende av Apple Push Notification Service, och APNS garanterar inte att push-meddelandena levereras. Apple rekommenderar prenumereration på push-meddelanden varje gång ett program startas. Varje gång klientprogrammet prenumererar på push-meddelanden, ger APNS ett token-id till klientprogrammet. Detta id ska skickas till den tredje part-server eller leverantör som ska skicka fjärrmeddelandena.

Ambient AudioPlaybackMode

  • Utöver VOICE och MEDIA finns i AIR 3.4 ytterligare ett alternativ för AudioPlaybackMode – AMBIENT. Med detta nya AudioPlaybackMode-alternativ kan användarna tvinga sina program att respektera den maskinvaruomkopplare som stänger av ljudet på iPhone- och iPad-enheter. Detta "omgivnings"uppspelningsläge kommer främst till användning i spelprogram där användaren kan välja att stänga av spelets ljud och samtidigt lyssna på musik från ett annat program i bakgrunden. Det är bara på iOS-enheter som ljudet i läget Ambient respekterar maskinvaruomkopplaren som stänger av ljudet. På AndroidTM-enheter fungerar läget Ambient på samma sätt som läget Media.

Stöd för undantag i ANE-tillägg för iOS

  • Ett ANE-tillägg för iOS kan nu använda både C++- och Objective-C-undantag. Det är tillägget som ska upptäcka alla undantag som utlöses i dess kod. Undantag som utlöses av ANE-tillägg kommer inte att upptäckas vid körning.

Alternativ i AIR Developer Tool, ADT, som listar anslutna mobilenheter

  • Ett nytt alternativ, '-devices', har lagts till i ADT för att räkna upp anslutna iOS/AndroidTM-enheter. Användarna kan använda det här alternativet, i stället för att använda adb för att räkna upp AndroidTM-enheterna och idb för iOS-enheterna. Obs! iTunes 10.5.0 eller senare måste vara installerat på användarens dator för att den här funktionen ska fungera.

ADT-alternativ som åtgärdar ANE-symbolkonflikter på iOS

  • Eftersom programutvecklare kan använda flera ANE-tillägg från olika resurser, kan ett gemensamt symbolnamn i två ANE-tillägg orsaka ett fel vid paketeringen som rapporterar att det finns en dubblettsymbol i objektfilerna, eller orsaka en krasch när programmet körs. För att kringgå detta problem introduceras ett nytt ADT-alternativ, -hideAneLibSymbols. Detta kan anges när programmet paketeras. Värdena "yes" eller "no" kan användas, där yes döljer symbolerna i biblioteken i ANE-tilläggen så att andra ANE-tillägg inte kan se dem.

Nya funktioner: Riktlinjer för användning

Komma igång med arbetare

Läs mer om arbetare i exemplen i filen flashplayer11-4_p1_ex_concurrency.zip.

Obs!

Nedan ser du hur mycket minne som krävs per arbetare på MacOS och Windows®:

antal arbetare

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

Dator
Windows® 7 32-bitars 
Intel® Xeon Quad core 3,2 GHz 
2 048 MB RAM 
Windows® 7 
minne (MB)

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

När koden körs i en ickeprimitiv arbetare (dvs. i bakgrunden) kommer visst API-beteende att vara annorlunda än för den ActionScript-kod som körs i huvudtråden. Följande API:er fungerar annorlunda när de används i en bakgrundsarbetare.

API:er som inte kan användas

Följande API:er kan inte användas i en bakgrundsarbetare. Alla försök att konstruera en instans av någon av dessa kommer att utlösa ett IllegalOperationError-fel med meddelandet: "This feature is not available within this context" (den här funktionen är inte tillgänglig i den här kontexten). errorID kommer att vara samma i alla instanser, och utvecklaren kan stänga av detta värde.

  • flash.desktop.Clipboard // anrop till konstruktör utlöser fel; anrop till generalClipboard returnerar "null"
  • flash.desktop.NativeDragManager // isSupported returnerar "false"
  • flash.desktop.Updater // isSupported returnerar "false"
  • flash.display.NativeMenu // isSupported returnerar "false"
  • flash.display.NativeWindow // isSupported returnerar "false"
  • flash.display.ToastWindow // kan inte komma åt instansen eftersom stage.window aldrig kommer att definieras
  • flash.display.Window // kan inte komma åt instansen eftersom stage.window aldrig kommer att definieras
  • flash.external.ExtensionContext // createExtensionContext() kommer alltid att returnera "null" eller utlösa ett fel
  • flash.external.ExternalInterface // available returnerar "false"
  • flash.html.* // HTMLLoader.isSupported returnerar "false"
  • flash.media.CameraRoll // supportsAddBitmapData och supportsBrowseForImage returnerar "false"
  • flash.media.CameraUI // isSupported returnerar "false"
  • flash.media.StageWebView // isSupported returnerar "false"
  • flash.net.drm.* // DRMManager.isSupported returnerar "false"
  • flash.printing.* // PrintJob.isSupported returnerar "false"
  • flash.security.XMLSignatureValidator // isSupported returnerar "false"
  • flash.system.IME // isSupported returnerar "false"
  • flash.system.SystemUpdater // anrop till konstruktör utlöser ett fel
  • flash.text.StageText // anrop till konstruktör utlöser ett fel
  • flash.ui.ContextMenu // isSupported returnerar "false"
  • flash.ui.GameInput // isSupported returnerar "false"
  • flash.ui.Mouse // inga metoder fungerar; ange egenskapen 'cursor' fungerar inte

Ändrat beteende hos API:er

Följande API:ers beteende är annorlunda när de körs från en bakgrundsarbetare. Vissa anrop till metoder fungerar inte medan andra kommer att utlösa felet IllegalOperationError eller motsvarande enligt den dokumenterande API:n. Returvärdena bör motsvara dokumentationen så mycket som möjligt. Om till exempel en metod normalt returnerar en array som innehåller element, kommer den när den körs i en bakgrundsarbetare att returnera en tom array.

  • flash.accessibility.Accessibilty
    • active //returnerar alltid "false"
    • updateProperties(); // fungerar inte
  • flash.desktop.NativeApplication** properties

·          

  • flash.display.Stage
    • allowsFullScreen // returnerar alltid "false"
    • stage3Ds // returnerar alltid tom Vector
    • stageVideos // returnerar alltid tom Vector
    • supportsOrientationChange // returnerar alltid "false"
    • wmodeGPU // returnerar alltid "false"
  • flash.filesystem.File
    • browseForDirectory(), browseForOpen(), browseForOpenMultiple(), browseForSave() // fungerar inte
  • flash.net.FileReference** browse(), download(), save() // fungerar inte; returnerar alltid "false"
  • flash.net.FileReferenceList** browse() // fungerar inte; returnerar alltid "false"
  • flash.system.System
    • ime // returnerar alltid "null"
    • exit() // tvingar denna bakgrundsarbetare att stanna och avsluta
    • setClipboard() // fungerar inte
  •  
    • metoder
      • activate(), clear(), copy(), cut(), paste(), selectAll() // fungerar inte
      • exit() // tvingar denna bakgrundsarbetare att stanna och avsluta
    • händelser
      • endast händelsen "exiting" stöds – denna händelse skickas när arbetaren avslutar (inträffar antingen vid anrop från metoden life cycle, eller när huvudarbetaren avslutar, dvs. körningen avslutas; kan inte avbrytas från bakgrundsarbetaren)
    •  
      • supportsDefaultApplication, supportsDockIcon, supportsMenu, supportsStartAtLogin, supportsSystemTrayIcon // alla returnerar "false"
      • activeWindow // returnerar "null"
      • autoExit // setter fungerar inte
      • idleThreshold // setter fungerar inte
      • openedWindows // returnerar en tom array []
      • systemIdleMode // setter fungerar inte

Fungerar med fler GPU:er – begränsad Stage3D-profil

En ny Context3D-parameter har introducerats, som heter "profile". Parametern skickas till funktionen Stage3D.requestContext3D() och du kan ge den ett av två värden; Context3DProfile.BASELINE ("baseline") som returnerar det vanliga Context3D som har funnits i tidigare versioner, eller Context3DProfile.BASELINE_CONSTRAINED ("baselineConstrained") som returnerar en ny typ av Context3D som kan köras med maskinvaruacceleration på GPU:er som det tidigare inte fanns stöd för. Med den begränsade profilen kan du skapa innehåll för äldre system med grafikkort som Intel® GMA 900/950 på Windows®. När du använder den begränsade profilen för att skapa innehåll för äldre maskiner, kan Stage3D-funktionerna inte utnyttjas fullt ut. Å andra sidan vet du att innehållet visas bra på maskinerna. Kort som GMA 900/950 stöder bara pixel/vertex shader version 2.0, vilket medför följande begränsningar på Stage3D i "begränsad" profil:

  • Endast 64 ALU:er och 32 texturanvisningar per skuggning.
  • Endast 4 texturinstruktioner per skuggning.
  • Begränsat till ett mindre antal constants/varying/temps per skuggning.
  • Inget stöd för predicate-register. Detta påverkar sln/sge/seq/sne och måste ersättas med kombinerade mov/cmp-instruktioner som finns i ps_2_0 (detta görs i bakgrunden och innebär att fler instruktionsfack används jämfört med ps_2_x).
  • Bakåtbufferten för Context3D måste alltid ligga inom gränserna för scenen.
  • Endast en instans av Context3D som körs i begränsad profil kan användas i en Flash Player-instans.
  • På samma sätt som med mobile, uppdateras inte de klassiska Flash-visningslistelementen, så länge Stage3D-innehåll i begränsad profil visas, om inte Context3D.present() anropas.

"Profile" är den andra valfria parametern för metoden requestContext3D. Utvecklare kan begära profilen "baselineConstained" för att få ett Context3D i begränsat läge, som API:t nedan visar: function requestContext3D ( context3DRenderMode : String = "auto", profile : String = "baseline" ) : void;
Exempel:

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

Direkt distribution av AIR med AIR Developer Tool, ADT

Installation:
Använd följande kommando när du ska installera en IPA på en enhet:
adt -installApp -platform ios -device <deviceID> -package <ipa-file> 
Avinstallation:
Använd följande kommando när du ska avinstallera en IPA från en enhet:
adt -uninstallApp -platform ios -device <deviceID> -appid <app-id> 
<deviceID> för din anslutna enhet är värdet Handle som visas med följande kommando:
@SDKLocation/bin/adt –devices –platform ios 
<app-id> anges i programbeskrivningsfilen (app.xml) i taggen <id>. Om du skapar projektet med Flash Builder, blir det som standard samma som ditt programnamn. 

Om bara en enhet är ansluten till skrivbordet kan du utesluta argumentet ”-device <deviceID>'” så installeras/avinstalleras programmet på den anslutna enheten.
adt -installApp -platform ios -package <ipa-file> 

Push-meddelanden för iOS

1)     Programidentifieraren (id-taggen) i programmets xml-fil bör vara samma som programidentifieraren i det mobila distributionscertifikat som aktiverats med push-meddelanden.
2)     Inkludera entitlement för aps-environment i programbeskrivningen:

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

Om programmet ska skickas till App Store med push-meddelanden aktiverat, måste aps-environment vara "production". Utvecklaren måste använda distributionsprofilen med push-meddelanden aktiverat. Kontrollera Entitlements för det signerade programmet med följande kommando.

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

3) Använd den just tillagda flash.notification-klassen i programmet för att aktivera stöd för push-meddelanden. Till exempel,

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

Klientprogrammets paket kan innehålla varningsmeddelandesträngarna för varje språkversion det stöder. Leverantören anger egenskaperna loc-key och loc-args i aps-katalogens meddelandenyttolast. När enheten tar emot meddelandet använder den egenskaperna i aps-katalogen för att hitta och formatera den sträng som är översatt för det språk som just då visas för användaren.

Lokaliserade strängar måste placeras i filen Localizable.strings i lämplig <språk>.lproj-mapp. Varje post i den här filen har en nyckel och ett lokaliserat strängvärde. Strängen kan ha formatspecifikationer som används när variabelvärdena ersätts. När ett program frågar efter en viss sträng, hämtas den resurs som är lokaliserad för det språk som för tillfället valts av användaren.

För att ett AIR-program ska kunna ta emot lokaliserade fjärrmeddelanden, måste det ha lokaliserade nyckelvärdepar i filen Localizable.strings i mappen <språk>/lproj inuti ipa:n. För att lägga till Localizable.strings i ipa:n behöver utvecklaren bara lägga till respektive <språk>.lproj-mapp i adt-kommandot enligt följande:

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

Observera att mappen lproj måste finnas i aktuell katalog för att adt-kommandot ska koppla ihop filerna i korrekt lproj-mapp. Om lproj-mappen anges som a/b/c/en.lproj, så lägger adt-kommandot till denna som a/b/c/en.lproj och därmed kommer inte lokaliserade nyckelvärdepar att vara tillgängliga för programmet.

ADT-alternativ för att lista anslutna mobilenheter

Du kan använda följande kommando för att få information om anslutna iOS/AndroidTM -enheter:

adt -devices -platform (android | ios)

Detta kommando ger utdata enligt följande:

Lista med anslutna enheter:

Handle   DeviceClass   DeviceUUID                                                    DeviceName

7           iPhone         783fc8af34a6022c924c34fe7025e7e39d9d123b abc’s iPhone


Stöd för licensiering: Flash Player Premium-funktioner för spel (endast Flash Player)

Om du använder domänminne (används av vissa verktyg från tredje part och Project ”Alchemy” C/C++-kompilatorn) kombinerat med Stage3D-maskinvaruacceleration krävs en licens. När en kombination av båda funktionerna används kommer en vattenstämpel att visas i informationssyfte i Flash Players innehållsfelsökare (debug player). Detta krav på licens gäller inte innehåll som utnyttjar Stage3D-maskinvaruacceleration utan domänminne (eller domänminne utan Stage3D) och gäller inte innehåll som distribueras med Adobe AIR. 

Hantera enhetsförlust

Innehåll som inte är licensierat fortsätter att köras genom en automatisk övergång från Stage3D till programvaruåtergivning. Om du vill vara säker på att innehållet korrekt hanterar förlust av grafikkortsresursen ska du avlyssna Event.CONTEXT3D_CREATE-händelsen på Stage3D-objektet för att återinitiera grafiken i innehållet. Du kan simulera en device loss-händelse genom att anropa context3D.dispose(). (Allt Stage3D-innehåll bör hantera enhetsförlust, vilket också kan inträffa om en dator är låst eller om en skärmsläckare aktiveras.)

ADT-alternativ som åtgärdar ANE-symbolkonflikter på iOS

Du kan använda följande kommando för att paketera program med det här alternativet:

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

Till exempel,

 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

Använd värdet ja för att förhindra symbolkonflikter och värdet nej för samma beteende som tidigare. Obs! Denna funktion är inte tillgänglig i Flash Builder/Flash Professional ännu.

DXT-kodning


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


Komprimerad textur och 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);

Riktlinjer för redigering

Redigering för Flash Player 11.4

Om du vill använda nya Flash Player måste du anpassa dig till SWF version 17, genom att skicka ytterligare ett kompilatorargument till Flex-kompilatorn: -swf-version=17. Anvisningar hittar du nedan. Om du använder Adobe Flex SDK:

  • Ladda ned den nya playerglobal.swc för Flash Player 11.4
  • Ladda ned Flex 4.5.1 SDK (4.5.1.21328) från Flex 4.5 SDK-tabellen.
  • Installera versionen i din utvecklingsmiljö
  • Öppna Flash Builder och skapa ett nytt ActionScript-projekt: Arkiv -> Nytt -> ActionScript-projekt.
  • Öppna egenskapspanelen för projektet (högerklicka och välj Egenskaper). Välj ActionScript Compiler i listan till vänster.
  • Gå till alternativet 'Configure Flex SDK's' längst upp till höger och ange att projektet ska använda Flex build 21328. Klicka på OK.
  • Konfigurera projektet så att det anpassas till SWF version 17
  • Öppna egenskapspanelen för projektet (högerklicka och välj Egenskaper). Välj ActionScript Compiler i listan till vänster.
  • Lägg till följande i Additional compiler arguments: -swf-version=17. Detta gör att den resulterande SWF-filen är avsedd för SWF version 17. Om du kompilerar på kommandoraden, och inte i Flash Builder, måste du lägga till samma kompilatorargument.
  • Kontrollera att du har installerat den nya versionen av Flash Player 11.4 i webbläsaren.

Redigering för AIR 3.4 Uppdatera till namnutrymmet för AIR 3.4

För att kunna utnyttja de nya API:erna och funktionerna i AIR 3.4 måste du uppdatera programbeskrivningsfilen till 3.4-namnutrymmet. Om ditt program inte kräver de nya API:erna i AIR 3.4, behöver du inte uppdatera namnutrymmet. Vi rekommenderar ändå att du börjar använda namnutrymmet för AIR 3.4, även om du ännu inte utnyttjar de nya funktionerna i 3.4. Gör så här för att uppdatera namnutrymmet: ändra attributet xmlns i programbeskrivningsfilen till: <application xmlns=" http://ns.adobe.com/air/application/3.4">

Rapportera ett fel

Har du hittat ett fel? Skicka gärna felet till feldatabasen för Flash Player och Adobe AIR.

Flash Player och AIR kan utnyttja datorns grafikmaskinvara för att avkoda och spela upp H.264-video. Det kan finnas videoproblem som bara går att återskapa med just din grafikmaskinvara och grafikdrivrutin. Om du rapporterar ett problem som rör video är det viktigt att du anger vilken grafikmaskinvara och grafikdrivrutin du använder, samt operativsystem och webbläsare (om det rör Flash Player), så att vi kan försöka återskapa felet och undersöka det närmare. Se till att du tar med den här informationen på det sätt som beskrivs i Instructions for Reporting Video Playback Issues (Instruktioner för hur du rapporterar videouppspelningsproblem). Obs! Det är inte säkert att vi kan svara på alla förfrågningar och rapporter på grund av den stora mängd e-post vi får. 

Tack för att du använder Adobe® Flash Player® och AIR® och för att du tar dig tid att skicka dina kommentarer till oss!

Systemkrav

Läs om de senaste systemkraven för Flash Player och AIR här.


Historik för körningsmiljöversioner

 

 Releasedatum Körningsmiljöversioner Säkerhetsförbättringar
21 augusti 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:

Denna produkt är licensierad enligt en Creative Commons Erkännande-Ickekommersiell-Dela Lika 3.0 Unported-licens  Twitter™- och Facebook-inlägg omfattas inte av villkoren i Creative Commons-licensen.

Juridiska meddelanden   |   Onlinesekretesspolicy