Çözülen Sorunlar

Yayınlanma Tarihi: 10/8/12

  • Internet Explorer'da Flash içeriğinde gezinirken kilitleniyor (3328165)
  • Sonlandırıcı işlevini uygulamayan iOS'ta ANE kullanımıyla uygulama paketlenemiyor. (3325320)
  • iOS'taki ANE'de yalnızca varsayılan uygulamanın kullanımıyla IPA paketlemesi sırasında, null işaretçisi özel durumu ile paketleme başarısız oluyor. (3325321)
  • Veritabanındaki veriler, iOS Simulator'daki her başlatma işleminde siliniyor. (3329309)
  • iOS'ta WiFi Hatalarının Ayıklanması: Oynatıcı Hedefi AIR 3.4 için ağ arabirimi "Varsayılan" olarak belirlendiğinde, hata ayıklama işlevi iOS'ta çalışmıyor (3325323)

Yayınlanma tarihi: 8/21/12

  • Bağlantıyı kesme sırasında Netstream aralıklı olarak çöküyor (3193417)
  • AIR Android üzerinde canlı ses akışını durdurmada sorun (3188340)
  • drawWithQuality(), Android aygıtlarında filtreleri düzgün bir şekilde oluşturmuyor (3224928)
  • Clipboard.generalClipboard.setData, iOS üzerinde çalışmıyor (3226045)
  • Bazı FLV video içerikleri Windows'ta Flash Player içinde oynatılmıyor (3187569)
  • Windows'ta Firefox içindeki Flash Player tabanlı uygulamalarda yalnızca sağ taraftaki ses oynatılıyor (3289279)
  • Fare Kilitleme özelliği, Tam Ekran Etkileşimli moda girildikten sonra devre dışı oluyor (3174344)
  • [iOS5] Gömülü fontların bulunduğu TextField öğeleri mobil aygıtlarda bozuluyor (3161138)
  • Bazı canlı akış içeriklerinin ilk karesi donuyor (3207896)
  • 50X50, 100X100, 1024X1024 için uygulama simgeleri artık Uygulama Tanımlayıcısındaki iOS uygulamaları için destekleniyor (3217144) 
  • Yerel uzantı kullanan uygulamalar, şunun gibi belirli harici kitaplıklar kullanılırken iOS üzerinde zaman zaman çöküyor: Libxml2.dylib (3226974) 
  • 768 x 1004 veya 1024 x 748 çözünürlüğünde bir başlatma görüntüsü tam ekran bir iPad uygulamasında paketlendiğinde sapma gözleniyor. (3230762). Başlatma görüntülerini kullanmaya yönelik yeni yönergeler burada bulunabilir
  • iOS üzerindeki H264 videoları, StageVideo nesnesine eklenmiş iki NetStream öğesi arasında geçiş yapılırken çöküyor (3206438)
  • CameraRoll.browseForImage() öğesindeki sorun, beyaz renkle sonuçlanan saydamlık kaybına neden oluyor (3291312)

Yeni Özellikler

Yayınlanma Tarihi: 10/8/12

9/19/12'den itibaren iOS6 SDK'sı Beta sürümünde değildir.

Bu sürümde yeni özellik yok

Yayınlanma Tarihi: 21/8/12

  • ActionScript Worker (İşçi) öğeleri (Flash Player)
  • Sanal alan Bridge desteği (Flash Player)
  • Lisanslama desteği: Oyunlar için Flash Player Premium Özellikleri (Flash Player)
  • Artırılmış GPU erişimi için Stage3D "sınırlandırılmış" profili (Flash Player ve AIR)
  • ByteArray için LZMA desteği (Flash Player ve AIR)
  • StageVideo attachCamera/Camera geliştirmeleri (Flash Player ve AIR)
  • Stage3D için alfa desteği bulunan sıkıştırılmış doku (Flash Player ve AIR)
  • DXT Kodlama (Flash Player ve AIR)
  • AIR için kullanımdan kaldırılan Carbon API'leri (AIR)
  • ADT kullanarak doğrudan AIR dağıtımı (AIR)
  • iOS için Push Bildirimleri (AIR)
  • Ortam AudioPlaybackMode (AIR)
  • iOS için Yerel Uzantılarda İstisna Desteği (AIR)
  • ADT'de, eklenen mobil aygıtların listelenmesine ilişkin yeni seçenek (AIR)
  • iOS üzerindeki ANE sembol çakışmalarının çözülmesine ilişkin ADT seçeneği (AIR)

Kullanıma Sunulan Sürümler

Teslim Edilebilir Öğe Kullanıma Sunulan Sürüm
 Flash Player Masaüstü (Windows® /Mac)  11.4.402.287
 AIR (Windows® , Mac, Mobile)  3.4.0.2710
 AIR SDK  3.4.0.2710

Bilinen Sorunlar

Yayınlanma Tarihi: 21/8/12
  • Matrix3D öğesine ait transformVector(), w bileşenini yanlış şekilde dönüştürüyor (3190677)
  • [iOS] iOS 4.3 üzerinde, Alfa içeren Sıkıştırılmış Cubemap öğeleri düzgün şekilde oluşturulmuyor (3282166)
  • Yüksek ascii karakterlerinin AIR Masaüstü Uygulamaları için düzgün şekilde çalışmadığı navigateToURL sorunları (3161093)
  • [iOS] Bazı içeriklerde AIR 3.4 ile bir .ipa dosyasının yüklenmesi şu Yükleme Hatası ile zaman zaman başarısız oluyor: PackageExtractionFailed (3220974)
  • iOS için bir uygulama paketlenirken –hideAneLibSymbols bayrağı kullanıldığında, ANE öğeleri platform.xml dosyasında yalnızca çerçeve ve kitaplık bağlantısı seçenekleri ve -ios_version_min gibi seçenekler kullanılmalıdır
Adobe, iOS 6 Beta SDK ile çalışmaya ve sorunları çözmeye devam ediyor. Bilinen mevcut sorunlar şunlardır:
  • Coğrafi konum izni iletişim kutusu iOS 6 Beta sürümünde görünmüyor (3291688)
  • AIR 3.4 SDK ve iOS 6 Beta SDK ile paketlenen AIR uygulamaları iPod ve iPhone'da Baş aşağı özelliği içi AutoOrients öğesini desteklemez (3286288)
  • AIR 3.4 SDK ve iOS 6 Beta SDK ile paketlenen hiçbir uygulama iOS 5.1 aygıtında aspectRatio etiketini desteklemez (3286320)

Güvenlik Geliştirmeleri

Güvenlik Bülteni Etkilenen Teslim Edilebilir Öğeler
 APSB12-22  Flash Player Masaüstü Windows® & Mac

 Flash Player AndroidTM

Yeni Özellikler: Genel Bakış


ActionScript Worker (İşçi) öğeleri

  • Worker (İşçi) öğelerinin ActionScript ve Flash Çalışma Zamanı'nda kullanıma sunulmasıyla Flash Geliştiricileri artık "Arka Plan Worker (İşçi) Öğelerindeki" yüksek gecikmeli işlemler ve uzun süren hesaplamalar gibi belirli görevleri gerçekleştirebilir.  Bu Arka Plan Worker (İşçi) Öğeleri daha fazla makine kaynağından yararlanmak ve kullanıcı arabirimi donmaları gibi durumlardan kaçınmak için eş zamanlı olarak çalışır. 
  • Not: ActionScript Worker (İşçi) öğelerinden tam olarak yararlanmak ve worker (işçi) öğelerinde hata ayıklayabilmek için Flash Builder'ın bir sonraki sürümü gereklidir. Flash Builder'ın bu bir sonraki sürümü, Ağustos döneminde ücretsiz beta sürümü aracılığıyla kullanılabilir hale gelecektir.
  • Not: Paylaşılan bellek desteği (ByteArray.shareable), yakında kullanıma sunulacak Flash Player sürümüne taşınmıştır.

Sanal alan Bridge desteği

  • Sanal alan bağlantısı, belirli ActionScript nesnelerine veya işlevlerine SWF'den SWF'ye etki alanları arası iletişimin uygulanmasına olanak tanır. Bu özellik AIR'de zaten kullanılabilir durumdadır ve bu sürümde Flash Player'a taşınacaktır.

Lisanslama desteği: Oyunlar için Flash Player Premium Özellikleri (Flash Player)

  • Premium Özelliklerin oyun için kullanıma sunulmasıyla artık ActionScript harici iş akışlarının Flash Player'ı hedeflemesine olanak tanıyoruz.  Bu sürüm, Flash Player'da XC API'lerinin (etki alanı belleği API'sinin ve Stage 3D donanım hızlandırma API'sinin birleştirilmiş kullanımı) Premium Özellikler lisans denetimini destekler. Bu API'ler, Unity ve Adobe’nin Projesi "Alchemy" C/C++ derleyici gibi üçüncü taraf araçlar tarafından kullanılır. Daha fazla bilgi için lütfen www.adobe.com/go/fpl sayfasını ziyaret edin.

Artırılmış GPU erişimi için Stage3D "sınırlandırılmış" profili

  • Flash Player, donanım hızlandırma kullanımına video kartınızın sürücüsünün tarihine göre geçit sağlar. Önceki sürümlerde 1 Ocak 2008 tarihinden eski sürücülere geçit desteği sağladık. Bu sürümde 1 Ocak 2006 tarihinden eski sürücüler için uygulanacak geçidi değiştiriyoruz. wmode=direct (veya AIR için renderMode=direct) kullanan içerik donanımı; mümkün olduğunda, 1 Ocak 2006 tarihinden yeni grafik kartı sürücüsülerinde hızlandırılmalıdır. Bu, Stage3D ve [StageVideo|StageVideo] API'leri için geçerlidir. Buna ek olarak Stage3D için "sınırlandırılmış" profil olarak adlandırılan yeni bir profil ekledik. Bu profil, içeriğinizin daha önce kara listeye alınan Intel® GMA yonga kümelerinde donanım hızlandırma işlemini çalıştırmasına olanak tanır. Bu yeni profille ve ondan nasıl yararlanacağınızla ilgili daha fazla bilgi için aşağıya bakın.

ByteArray için LZMA desteği

  • ByteArray öğesinin zlib sıkıştırmasına ek olarak bir ByteArray içindeki verileri ByteArray.compress() ve ByteArray.uncompress() yoluyla sıkıştırmak için LZMA'ya dayalı bir ek sıkıştırma türü sunuyoruz.

Stage3D için alfa desteği bulunan sıkıştırılmış doku (Flash Player and AIR)

  • Sıkıştırılmış dokular için artık desteklenen saydam görüntüler (ATF dosya formatı).

StageVideo attachCamera/Kamera geliştirmeleri

  • Bu özellik StageVideo nesnelerinde; Actionscript kodunun, görüntü oluşturma işlemi için rasterleştirici yerine GPU'dan yararlanarak video akışını kameradan bir  StageVideo nesnesine yönlendirmesine olanak tanıyan yeni bir yöntem sunar. Bu da, GPU hızlandırma kullanılabilir durumda olduğunda kameradan video akışını işlerken oynatıcının daha hızlı olmasını sağlar.

DXT Kodlama

  • Bu özellik, sıkıştırılmamış dokuların çalışma zamanı sırasında DXT formatına kodlanmasına olanak tanır; böylelikle doku, sıkıştırılmış bir DXT dokusu olarak GPU'ya yüklenebilir.
    Hem Flash Player 11.4 hem de AIR 3.4 için masaüstü bilgisayarda kullanılabilir

AIR için kullanımdan kaldırılan Carbon API'leri

  • Mac OS X 10.8 sürümünden başlayarak, Carbon API'leri artık Apple tarafından desteklenmeyecektir. Bu nedenle bu API'ler ve kullanımdan kaldırılan diğer kod, Mac OSX 10.8 ile denklik için bu sürümde AIR'den kaldırılıyor.
ADT kullanarak doğrudan AIR dağıtımı
  • Bu yeni özellik, geliştiricinin iTunes veya XCode'u kullanmak zorunda kalmadan bir AIR uygulamasını iOS aygıtlarında bir dağıtmasına olanak tanır. Bu özelliğin kullanılabilmesi için kullanıcının makinesine iTunes 10.5.0 veya üzeri bir sürümünün yüklenmesi gerektiğini unutmayın.

iOS Push Bildirimleri

  • Bu özellik bildirim oluşturmak için APNS (Apple Push Notification Service) ve bir sağlayıcı (APN ile iletişim kuracak üçüncü taraf sunucu) kullanır. Yeni bir paket olarak flash.notifications kullanıma sunuldu. Push bildirimlerinin teslimi tamamen Apple Push Notification Service'e bağlıdır ve APNS, push bildirimlerinin teslimini garanti etmez. Ayrıca Apple, bir uygulamanın kullanıma sunulduğu her durumda push bildirimlere abone olunmasını önerir. İstemci uygulamasının push bildirimlere abone olduğu her durumda APNS, istemci uygulamasına bir işaret kimliği sağlar ve bu işaret kimliği, uzaktan bildirimleri gönderecek olan üçüncü taraf sunucusuna veya sağlayıcıya gönderilmelidir.

Ortam AudioPlaybackMode

  • AIR 3.4 ile, kullanıcılar bir  AudioPlaybackMode  seçeneğine daha sahip olur (örn. SES ve MEDYA dışında ORTAM). Bu yeni AudioPlaybackMode; kullanıcıların, uygulamaları için iphone'larda /ipad'lerde mevcut "donanım sesi kapatma geçişi" özelliğini kullanmayı zorunlu kılmasına olanak tanır. Bu Ortam yürütme modu için en iyi kullanım örneği, uygulamanın kullanıcısının oyun sesini kapatma seçeneğine sahip olacağı ve arka planda diğer uygulamaların müziğini dinleyebileceği oyun uygulamalarındadır. Ortam modunda ses, donanım sesi kapatma geçişine yalnızca iOS aygıtlarında uyar. AndroidTM aygıtlarında Ortam Modu Medya moduyla aynı şekilde olacaktır.

iOS için Yerel Uzantılarda İstisna Desteği

  • iOS için bir yerel uzantı artık hem C++ ve Objective-C istisnalarını kullanabilir. Kendi kodunda atılan tüm istisnaları yakalayıp yakalamayacağını uzantı belirler. Çalışma zamanı, uzantılar tarafından atılan istisnaları yakalamaz.

ADT'nin, eklenen mobil aygıtları listeleme seçeneği

  • Eklenen iOS/AndroidTM aygıtlarını destekleyen yeni bir '-devices' seçeneği ADT'ye eklenmiştir. Kullanıcılar, AndroidTM aygıtlarını listelemek için adb'yi kullanmak ve iOS aygıtlarını listelemek için idb'yi kullanmak yerine bu seçenekten yararlanabilir. Bu özelliğin kullanılabilmesi için kullanıcının makinesine iTunes 10.5.0 veya üzeri bir sürümünün yüklenmesi gerektiğini unutmayın.

iOS üzerindeki ANE sembol çakışmalarının çözülmesine ilişkin ADT seçeneği

  • Uygulama geliştiricileri çeşitli kaynaklardan elde edilen birden fazla yerel uzantıyı kullanabildiğinden 2 ANE'deki ortak bir sembol adı; nesne dosyalarında, çoğaltılan bir sembol veya çalışma süresinde bir çökme bulunduğunu belirten bir paketleme hatası verebilir. Bu sorunun çözülmesi için, uygulamanın paketlenmesi sırasında belirtilebilen yeni bir ADT seçeneği  -hideAneLibSymbols kullanıma sunulmuştur. – yes veya no değerlerini alabilir; yes, her bir ANE'nin kitaplık sembollerini diğer ANE'lerden gizler.

Yeni Özellikler: Kullanım Yönergeleri

Worker (İşçi) öğelerine başlarken

Worker (işçi) öğeleri özelliğini kullanmaya başlayabilmek için flashplayer11-4_p1_ex_concurrency.zip dosyasındaki örneklere bakın.

Not

Aşağıda, MacOS ve Windows® üzerinde worker (işçi) başına ölçülen bellek alanı verilmiştir:

Worker (işçi) sayıları

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

PC makinesi 
Windows® 7 32bit 
Intel® Xeon Quad core 3.2GHz 
2048MB RAM 
Windows® 7 
bellek (MB)

Lenovo T61 dizüstü bilgisayar
Windows® XP 
Intel® CoreTM Duo Core 2.2GHz 
2014MB RAM 
Windows® XP 
bellek (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

Kod,  eski olmayan bir worker (işçi) bağlamı içinde çalışıyorsa (örn. arka plan) flash çalışma zamanı API'si davranışı, temel iş parçacığını çalıştıran Actionscript kodunun davranışından farklı olur. Aşağıdaki API'ler bir arka plan worker (işçi) içinden kullanıldığında farklı davranış gösterir.

İşlevsiz API'ler

Aşağıdaki API'ler bir arka plan worker (işçi) içinden kullanılamaz. Bunlardan herhangi birinin örneğini oluşturmayı denediğinizde, "Bu özellik bu bağlam içinden kullanılamaz" mesajını içeren bir IllegalOperationError hatası atılır; errorID, geliştiricilerin bu değeri kapatmasını sağlayarak tüm örneklerde aynı olur.

  • flash.desktop.Clipboard // constructor öğesinin çağrılması atar; generalClipboard öğesinin çağrılması null değerini döndürür
  • flash.desktop.NativeDragManager // isSupported, false değerini döndürür
  • flash.desktop.Updater // isSupported, false değerini döndürür
  • flash.display.NativeMenu // isSupported, false değerini döndürür
  • flash.display.NativeWindow // isSupported, false değerini döndürür
  • flash.display.ToastWindow // stage.window hiçbir zaman tanımlanmayacağından örneğe erişilemez
  • flash.display.Window // stage.window hiçbir zaman tanımlanmayacağından örneğe erişilemez
  • flash.external.ExtensionContext // createExtensionContext() her zaman null değerini döndürür veya bir hata atar
  • flash.external.ExternalInterface // available, false değerini döndürür
  • flash.html.* // HTMLLoader.isSupported, false değerini döndürür
  • flash.media.CameraRoll // supportsAddBitmapData ve supportsBrowseForImage, false değerini döndürür
  • flash.media.CameraUI // isSupported, false değerini döndürür
  • flash.media.StageWebView // isSupported, false değerini döndürür
  • flash.net.drm.* // DRMManager.isSupported, false değerini döndürür
  • flash.printing.* // PrintJob.isSupported, false değerini döndürür
  • flash.security.XMLSignatureValidator // isSupported, false değerini döndürür
  • flash.system.IME // isSupported, false değerini döndürür
  • flash.system.SystemUpdater // constructor öğesinin çağrılması atar
  • flash.text.StageText // constructor öğesinin çağrılması atar
  • flash.ui.ContextMenu // isSupported, false değerini döndürür
  • flash.ui.GameInput // isSupported, false değerini döndürür
  • flash.ui.Mouse // tüm yöntemler no-op'tur; 'cursor' özelliğinin ayarlanması no-op'tur

API'lerdeki davranışsal değişiklikler

Aşağıdaki API'lerin, bir arka plan worker (işçi) öğesinden çalıştırılırken davranışları değişir. Bazı çağrı yöntemleri IllegalOperationError hatası atar veya belgelenen API ile tutarlı olduğu şekilde eşdeğerdir; bazıları ise no-op'tur. Döndürülen değerler, belgeyle mümkün olduğu kadar tutarlı olmalıdır. Örneğin, bir yöntem normal koşullarda; içindeki öğelerle bir Array öğesini döndürürse bir arka plan worker (işçi) öğesinden çalıştırıldığında boş bir Array döndürür.

  • flash.accessibility.Accessibilty
    • active // her zaman false değerini döndürür
    • updateProperties(); // no-op
  • flash.desktop.NativeApplication** özellikleri

·          

  • flash.display.Stage
    • allowsFullScreen // her zaman false değerini döndürür
    • stage3Ds // her zaman boş Vector öğesini döndürür
    • stageVideos // her zaman boş Vector öğesini döndürür
    • supportsOrientationChange // her zaman false değerini döndürür
    • wmodeGPU // her zaman false değerini döndürür
  • flash.filesystem.File
    • browseForDirectory(), browseForOpen(), browseForOpenMultiple(), browseForSave() // no-op
  • flash.net.FileReference** browse(), download(), save() // no-op; her zaman false değerini döndürür
  • flash.net.FileReferenceList** browse() // no-op; her zaman false değerini döndürür
  • flash.system.System
    • ime // her zaman null değerini döndürür
    • exit() // bu arka plan worker (işçi) öğesinin durmasını ve kapatılmasını zorunlu kılar
    • setClipboard() // no-op
  •  
    • yöntemler
      • activate(), clear(), copy(), cut(), paste(), selectAll() // no-op
      • exit() // bu arka plan worker (işçi) öğesinin durmasını ve kapatılmasını zorunlu kılar
    • olaylar
      • Yalnızca exiting olayı desteklenir; bu olay, worker (işçi) kapatılırken gönderilir (yaşam döngüsü yöntemi çağrılarıyla veya “main” worker (işçi) kapatılırken, örneğin, çalışma zamanından çıkıldığında gerçekleşir; bu işlem arka plan worker (işçi) öğesinden iptal edilemez)
    •  
      • supportsDefaultApplication, supportsDockIcon, supportsMenu, supportsStartAtLogin, supportsSystemTrayIcon // tümü false değerini döndürür
      • activeWindow // null değerini döndürür
      • autoExit // ayarlayıcı no-op'tur
      • idleThreshold // ayarlayıcı no-op'tur
      • openedWindows // boş bir Array [] döndürür
      • systemIdleMode // ayarlayıcı no-op'tur

Artırılmış GPU Erişimi - Sınırlandırılmış Stage3D profili

Context3D öğesinde "profile" adında yeni bir parametre kullanıma sunulmuştur.  Bu parametre Stage3D.requestContext3D() işlevine sağlanır ve ona, daha önceki sürümlerde varolan tipik Context3D öğesini döndürecek iki Context3DProfile.BASELINE ("baseline") değerinden birini veya daha önce desteklenmeyen GPU'larda donanım hızlandırma ile çalışma özelliğine sahip yeni bir Context3D öğesini döndürecek Context3DProfile.BASELINE_CONSTRAINED ("baselineConstrained") değerini verebilirsiniz. Sınırlandırılmış profil, içerik yazarlarının Windows® üzerinde Intel® GMA 900/950 gibi grafik kartlarını kullanarak daha eski sistemleri hedefleyen Stage3D içeriği oluşturmasına olanak tanır.  Sınırlandırılmış profile sahip, daha düşük kare hızına sahip donanıma yönelik dengeleme; Stage3D özelliklerinin, içeriğin donanımla düzgün çalışacağından emin olunması için sınırlanacak olmasıdır.  GMA 900/950 gibi kartlar, Sınırlandırılmış profildeyken Stage3D üzerinde yalnızca aşağıdaki sınırlamaları zorunlu kılan piksel/tepe gölgelendirici 2.0 sürümünü destekler:

  • Gölgelendirici başına 64 ALU ve 32 doku talimatıyla sınırlıdır.
  • Gölgelendirici başına yalnızca 4 doku okuma talimatı.
  • Gölgelendirici başına daha az miktarda sabit/değişken/şablon ile sınırlıdır.
  • Koşul kaydı için destek yoktur. Bu, sln/sge/seq/sne öğelerini etkiler ve ps_2_0 ile kullanılabilen mov/cmp bileşeni talimatlarıyla değiştirilmelidir (bu, ps_2_x ile karşılaştırıldığında daha fazla talimat yuvasını kullanma maliyetinde başlığın altında gerçekleştirilir).
  • Context3D arabelleği her zaman sahne alanının sınırları içinde olmalıdır.
  • Bir Flash Player örneğinin içinde, Sınırlandırılmış profilde çalışan yalnızca bir Context3D örneğine izin verilir.
  • Mobil ortamda olduğu gibi; sınırlandırılmış Stage3D içeriği görünür durumdayken, Context3D.present() çağrılmadığı sürece klasik Flash Display List öğeleri güncellenmez.

'Profile', requestContext3D yönteminin isteğe bağlı ikinci parametresidir. Geliştiriciler; aşağıdaki api'nin gösterdiği gibi, sınırlandırılmış modda bir Context3D almak için "baselineConstained" profili isteğinde bulunabilir: function requestContext3D ( context3DRenderMode : String = "auto", profile : String = "baseline" ) : void;
Örnek:

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

ADT kullanarak doğrudan AIR dağıtımı

Kurulum:
Bir aygıta IPA yüklemek için şu komutu kullanın:
adt -installApp -platform ios -device <deviceID> -package <ipa-file> 
Kaldırma:
Bir aygıttan bir IPA'yı kaldırmak için şu komutu kullanın:
adt -uninstallApp -platform ios -device <deviceID> -appid <app-id> 
Bağlı aygıtınızın <deviceID> öğesi, aşağıdaki komutla listelenen ‘Handle’ değeri olmalıdır:
@SDKLocation/bin/adt –devices –platform ios 
<app-id> uygulama tanımlayıcı dosyasının (app.xml) <id> etiketinde belirtilmiştir. Projenizi Flash Builder kullanarak oluşturuyorsanız proje, varsayılan olarak uygulama adınızla aynı olur. 

Masaüstü bilgisayara yalnızca bir aygıt bağlıysa '-device <deviceID> ' argümanını çıkardığınızda uygulama bağlı aygıta yüklenir/bağlı aygıttan kaldırılır.
adt -installApp -platform ios -package <ipa-file> 

iOS Push Bildirimleri

1)     App-xml içindeki uygulama kimliği (id etiketi), Push bildirimleriyle etkinleştirilen mobil temel hazırlık sertifikasının uygulama kimliği ile aynı olmalıdır.
2)     Uygulama açıklamanıza aps-environment adlandırmasını ekleyin:

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

Uygulamayı, Push Bildirimleri etkin şekilde Uygulama Mağazası'na göndermek için aps-environment öğesini production olarak belirlemeniz gerekir. Geliştirici, Push bildirimleri etkin şekilde temel hazırlık profilini kullanmalıdır. Aşağıdaki komutu kullanarak, imzalanan uygulamanın Entitlements öğesini tekrar kontrol edin.

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

3) Push bildirimi desteğini etkinleştirmek için uygulamaya yeni eklenen flash.notification sınıfını kullanın. Örneğin,

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

İstemci uygulaması, desteklediği her bir yerelleştirme için çevrilen uyarı mesajı dizelerini, paketinde depolayabilir. Sağlayıcı, bildirim yükünün aps sözlüğünde loc-key and loc-args özelliklerini belirtir. Aygıt bildirimi aldığında daha sonra kullanıcıya göstereceği geçerli dil için yerelleştirilmiş dizeyi bulmak ve formatlamak için aps sözlüğü özelliklerini kullanır.

Yerelleştirilen dizelerin uygun <language>.lproj klasöründeki Localizable.strings olarak adlandırılan dosyada bulunması gerekir. Bu dosyadaki her bir girişin bir anahtarı ve yerelleştirilmiş bir dize değeri bulunur, dize; değişken değerlerinin değiştirme işlemi için format belirticiye sahip olabilir. Bir uygulama belirli bir dizeyi istediğinde o an kullanıcı tarafından seçilen dil için yerelleştirilmiş kaynağı alır.

Yerelleştirilen uzaktan bildirimleri almak için bir AIR uygulamasının, ipa içindeki <language>/lproj klasöründe yer alan Localizable.strings dosyasında, yerelleştirilen anahtar değer çiftlerinin bulunması gerekir. ipa içindeki Localizable.strings dosyasını eklemek için geliştiricinin aşağıdaki gibi, adt komutuna ilgili <language>.lproj klasörünü eklemesi yeterlidir:

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

adt'nin dosyaları uygun lproj klasöründe birleştirmesi için lütfen lproj klasörünün geçerli dizinde mevcut olması gerektiğini unutmayın. lproj klasörüne a/b/c/en.lproj şeklinde bir değer verilire adt bunu a/b/c/en.lproj olarak ekler ve böylelikle uygulama, yerelleştirilen anahtar değer çiftlerine erişemez.

ADT'nin, eklenen mobil aygıtları listeleme seçeneği

Eklenen iOS/AndroidTM aygıtlarıyla ilgili bilgi edinmek için aşağıdaki komutu kullanabilirsiniz:

adt -devices -platform (android | ios)

Bu komutun kullanılması aşağıdaki gibi bir çıktı oluşturur:

Eklenen aygıtların listesi:

Handle   DeviceClass   DeviceUUID                                                    DeviceName

7           iPhone         783fc8af34a6022c924c34fe7025e7e39d9d123b abc’s iPhone


Lisanslama desteği: Oyunlar için Flash Player Premium Özellikleri (yalnızca Flash Player)

Etki alanı belleğinin (bazı üçüncü taraf araçlar ve "Alchemy" C/C++ derleyicisi tarafından kullanılan) Stage3D donanım hızlandırma özelliğiyle birlikte kullanımı bir lisans gerektirir. İki özelliği birlikte kullandığınızda Flash Player içerik hata ayıklayıcısında (hata ayıklama oynatıcısı) bilgilendirme amaçlı bir filigran gösterilir. Bu lisans gereksinimi, Stage3D donanım hızlandırma özelliğini etki alanı belleği olmadan (veya etki alanı belleğini Stage3D olmadan) kullanan içerik için geçerli değildir ve Adobe Air kullanılarak dağıtımı gerçekleştirilen herhangi bir içerik için geçerli değildir

Aygıt kaybını işleme

Stage3D nesnesinden otomatik olarak, yazılım oluşturmaya geçiş yapıldığında lisanslanmayan içerik çalışmaya devam eder. İçeriğinizin, grafik kartı kaynak kaybını düzgün şekilde işlediğinden emin olmak için içeriğinizin grafiklerini yeniden başlatmak üzere Stage3D nesnesinde Event.CONTEXT3D_CREATE olayını dinleyin. context3D.dispose() çağrısı yaparak bir aygıt kaybı olayını benzetebilirsiniz. (Stage3D içeriğinin tümü; bir bilgisayarın kilitlenmesi veya ekran koruyucunun etkinleştirilmesi durumunda da meydana gelebilecek aygıt kaybını işlemelidir).

iOS üzerindeki ANE sembol çakışmalarının çözülmesine ilişkin ADT seçeneği

Bu seçeneği kullanarak uygulamaları paketlemek için aşağıdaki komutu kullanabilirsiniz:

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

Örneğin,

 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

Sembol çakışmaları önlemek için yes değerini, öncekiyle aynı davranış için de no değerini kullanın. Lütfen bu özelliğin henüz Flash Builder'da/Flash Professional'da kullanılabilir durumda olmadığını unutmayın.

DXT Kodlama


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


Sıkıştırılmış Doku ve 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);

Geliştirme Yönergeleri

Flash Player 11.4 için geliştirme

Yeni Flash Player'ı kullanmak için Flex derleyicisine ek bir derleyici argümanı geçerek SWF 17 sürümünü hedeflemeniz gerekir: -swf-version=17. Talimatlar aşağıdadır. Adobe Flex SDK kullanıyorsanız:

  • Flash Player 11.4 için yeni playerglobal.swc öğesini indirin
  • Flex 4.5 SDK tablosundan Flex 4.5.1 SDK'yi (4.5.1.21328) indirin.
  • Geliştirme ortamınızdaki yapıyı yükleyin
  • Flash Builder'da yeni bir ActionScript projesi oluşturun: Dosya -> Yeni -> ActionScript projesi.
  • Proje Özellikler panelini açın (sağ tıklatın ve 'Özellikler'i seçin). Sol taraftaki listeden ActionScript Derleyicisi'ni seçin.
  • Projenin Flex 21328 yapısını göstermesi için sağ üst köşedeki 'Flex SDK'lerini yapılandır' seçeneğini kullanın. Tamam'ı tıklatın.
  • Projenizi SWF 17 sürümünü hedefleyecek şekilde yapılandırın
  • Proje Özellikler panelini açın (sağ tıklatın ve 'Özellikler'i seçin). Sol taraftaki listeden ActionScript Derleyicisi'ni seçin.
  • 'Additional compiler arguments' girdisine şunu ekleyin: -swf-version=17. Böylelikle çıktısı alınan SWF'nin SWF 17 sürümünü hedeflediğinden emin olabilirsiniz. Derlemeyi Flash Builder'da değil, komut satırında gerçekleştirirseniz aynı derleyici argümanını eklemeniz gerekir.
  • Tarayıcınıza yeni Flash Player 11.4 yapısını yüklediğinizden emin olun.

AIR 3.4 için geliştirme AIR 3.4 ad alanına güncelleme

Yeni AIR 3.4 API'leri ve davranışına erişmek için uygulama tanımlayıcı dosyanızı 3.4 ad alanına güncellemeniz gerekir. Uygulamanız yeni AIR 3.4 API'lerini ve davranışını gerektirmiyorsa ad alanını güncellemeniz gerekli değildir. Ancak tüm kullanıcıların, yeni 3.4 özelliklerinden henüz yararlanmıyor olsanız da AIR 3.4 ad alanını kullanmaya başlamasını öneririz. Ad alnını güncellemek için uygulama tanımlayıcı dosyanızdaki xmlns niteliğini şu şekilde değiştirin: <application xmlns="http://ns.adobe.com/air/application/3.4">

Bir Hatayı Bildirme

Hata mı buldunuz? Lütfen Flash Player ve Adobe AIR hata veritabanına bir hata gönderin.

Flash Player ve AIR, H.264 videonun kodunu çözmek veya bu videoyu oynatmak için grafik donanımınızı kullanabilir. Yalnızca sizin özel grafik donanımınız ve sürücünüzle yeniden oluşturulabilen video sorunları olabilir. Videolarla ilgili bir sorun bildirirken işletim sisteminizin ve tarayıcınızın bilgileriyle birlikte grafik donanımınızın ve sürücünüzün bilgilerini vermeniz önemlidir. Böylece sorunları yeniden oluşturup araştırabiliriz. Lütfen bu bilgileri şurada açıklandığı şekilde verdiğinizden emin olun: Video Oynatma Sorunlarını Bildirme Talimatları. Not: Aldığımız e-postaların sayısının fazla olması nedeniyle, her talebe karşılık veremiyoruz.

Adobe® Flash Player® ve AIR® uygulamalarını kullandığınız ve geri bildirim göndermek üzere zaman ayırdığınız için teşekkür ederiz!

Sistem Gereksinimleri

En son Flash Player ve AIR sistem gereksinimleri için lütfen buradaki belgeyi inceleyin.


Çalışma Zamanı Sürüm Geçmişi

 

 Sürüm Tarihi Çalışma Zamanı Sürümü Güvenlik Geliştirmeleri
  21 Ağustos 2012  Flash Player Masaüstü (Windows, Mac) :  11.4.402.265
 AIR (Windows, Mac, Mobile): 3.4.0.2540
 AIR SDK: 3.4.0.2540
 APSB12-19

Bu çalışma Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License kapsamında lisanslanmıştır  Creative Commons şartları, Twitter™ ve Facebook sitelerinde paylaşılanları kapsamaz.

Yasal Uyarılar   |   Çevrimiçi Gizlilik İlkesi