Elementy interfejsu API ActionScript 3.0 nieobsługiwane na urządzeniach mobilnych

Niektóre elementy interfejsu API nie są obsługiwane w aplikacjach działających w profilu urządzenia mobilnego (takich jak aplikacje działające na telefonie iPhone).

W przypadku używania tego samego kodu ActionScript do pisania programu z myślą o wielu profilach (np. komputerze stacjonarnym oraz urządzeniu mobilnym) należy użyć kodu w celu sprawdzenia, czy interfejs API jest obsługiwany. Na przykład klasa NativeWindow nie jest obsługiwana w aplikacjach na telefon iPhone. (W aplikacjach iPhone nie można używać ani tworzyć okien rodzimych.) W celu sprawdzenia, czy aplikacja działa w profilu obsługującym okna rodzime (takim jak profil aplikacji lokalnej na komputerze stacjonarnym), należy sprawdzić właściwość NativeWindow.isSupported .

W poniższej tabeli wymieniono interfejsy API, które nie są obsługiwane w profilu urządzenia mobilnego. Ponadto wymieniono tu również właściwości, które można sprawdzić w celu stwierdzenia, czy aplikacja działa na platformie oferującej obsługę interfejsu API.

Interfejs API

Test obsługi

Accessibility

Capabilities.hasAccessibility

Camera

Camera.isSupported

DatagramSocket

DatagramSocket.isSupported

DNSResolver

DNSResolver.isSupported

DockIcon

NativeApplication.supportsDockIcon

DRMManager

DRMManager.isSupported

EncryptedLocalStore

EncryptedLocalStore.isSupported

HTMLLoader

HTMLLoader.isSupported

LocalConnection

LocalConnection.isSupported

Microphone

Microphone.isSupported

NativeApplication.exit()

NativeApplication.menu

NativeApplication.supportsMenu

NativeApplication.isSetAsDefaultApplication()

NativeApplication.supportsDefaultApplication

NativeApplication.startAtLogin

NativeApplication.supportsStartAtLogin

NativeMenu

NativeMenu.isSupported

NativeProcess

NativeProcess.isSupported

NativeWindow

NativeWindow.isSupported

NativeWindow.notifyUser()

NativeWindow.supportsNotification

NetworkInfo

NetworkInfo.isSupported

Obsługa formatu PDF

HTMLLoader.pdfCapability

PrintJob

PrintJob.isSupported

SecureSocket

SecureSocket.isSupported

ServerSocket

ServerSocket.isSupported

Shader

ShaderFilter

StorageVolumeInfo

StorageVolumeInfo.isSupported

XMLSignatureValidator

XMLSignatureValidator.isSupported

Nie jest możliwe tworzenie aplikacji AIR opartych na językach HTML i JavaScript w profilu urządzenia mobilnego.

Niektóre klasy ActionScript 3.0 są obsługiwane tylko częściowo:

File

Aplikacje telefonu iPhone mają dostęp wyłącznie do katalogu aplikacji oraz katalogu magazynu aplikacji. Ponadto możliwe jest wywołanie metod File.createTempFile() oraz File.createTempDirectory() . Wywołanie operacji w celu uzyskania dostępu do innego katalogu (np. wywołanie metody odczytu lub zapisu FileStream) skutkuje wyjątkiem IOError.

Aplikacje iPhone nie obsługują okien dialogowych przeglądarki plików rodzimych, takich jak ten udostępniany przez metodę File.browseForOpen() .

Loader

W aplikacji na telefon iPhone nie można używać metody Loader.load() . Nie można jednak uruchomić kodu ActionScript w treści SWF załadowanej metodą Loader.load() . Można jednak użyć zasobów z pliku SWF (takich jak klipy wideo, czcionki oraz dźwięki z biblioteki). Możliwe jest również użycie metody Loader.load() do załadowania plików obrazów.

Wideo

W aplikacjach AIR na telefon iPhone obsługiwane jest wyłącznie wideo w formacie Sorensen oraz ON2 VP6.

Można użyć metody navigateToURL() do otwarcia wideo w formacie H.264 poza aplikacją. Jako parametr request należy przekazać obiekt URLRequest wraz z adresem URL wskazującym na materiał wideo. Wideo uruchamia się w odtwarzaczu wideo telefonu iPhone.

Pola tekstowe

Istnieją ograniczenia dotyczące czcionek i innych ustawień pól tekstowych na telefonie iPhone. Patrz Czcionki i wprowadzanie tekstu .

Nieobsługiwane interfejsy API oraz debugowanie za pomocą narzędzia ADL

Niektóre elementy funkcjonalności środowiska AIR nieobsługiwane w telefonie iPhone są mimo to dostępne podczas testowania aplikacji za pomocą narzędzia ADL (na komputerze programisty). Należy pamiętać o tych różnicach podczas testowania treści za pomocą narzędzia ADL.

Funkcjonalność ta obejmuje następujące kodeki audio i wideo: Speex (audio), H.264/AVC (wideo) oraz AAC (audio). Kodeki te są niedostępne dla aplikacji AIR działających w telefonie iPhone. Działają one jednak w sposób normalny na komputerach stacjonarnych.

Ułatwienia dostępu i obsługa czytnika ekranu działają w programie ADL w systemie Windows. Te interfejsy API nie są obsługiwane w telefonie iPhone.

Protokół RTMPE działa normalnie w przypadku używania za pomocą narzędzia ADL na komputerze stacjonarnym. Połączenie NetConnection podejmujące próbę nawiązania połączenia za pomocą protokołu RTMPE nie działa jednak w telefonie iPhone.

Klasa Loader działa bez dodatkowych ograniczeń w przypadku uruchomienia treści za pomocą narzędzia ADL. Jednak podczas wykonywania aplikacji na telefonie iPhone próby załadowania treści SWF zawierającej kod bajtowy ActionScript skutkują komunikatami o błędzie.

Instancje Shader są wykonywane w programie ADL. Jednak w telefonie iPhone kod bajtowy modułu Pixel Bender nie jest interpretowany, zaś moduły cieniujące nie wpływają na wyświetlaną grafikę.

Więcej informacji można znaleźć w sekcji Debugowanie aplikacji na telefon iPhone .