ActionScript 3.0-APIs, die auf mobilen Geräten nicht unterstützt werden

Einige ActionScript 3.0-APIs werden für Anwendungen, die mit dem Profil für mobile Geräte ausgeführt werden (zum Beispiel iPhone-Anwendungen), nicht unterstützt.

Wenn Sie denselben ActionScript-Code zum Entwickeln für mehrere Profile (zum Beispiel „desktop“ und „mobile“) schreiben, testen Sie mithilfe von Code, ob eine bestimmte API unterstützt wird. Die NativeWindow-Klasse wird zum Beispiel nicht von iPhone-Anwendungen unterstützt. (iPhone-Anwendungen können keine nativen Fenster verwenden oder erstellen.) Um zu testen, ob eine Anwendung mit einem Profil ausgeführt werden kann, das native Fenster unterstützt (zum Beispiel das Profil „desktop“), überprüfen Sie die NativeWindow.isSupported -Eigenschaft.

In der folgenden Tabelle sind APIs aufgeführt, die vom Profil für mobile Geräte nicht unterstützt werden. Außerdem sind Eigenschaften aufgelistet, mit denen Sie feststellen können, ob eine Anwendung auf einer Plattform ausgeführt wird, die die jeweilige API unterstützt.

API

Zu überprüfende Eigenschaft

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

PDF Support

HTMLLoader.pdfCapability

PrintJob

PrintJob.isSupported

SecureSocket

SecureSocket.isSupported

ServerSocket

ServerSocket.isSupported

Shader

ShaderFilter

StorageVolumeInfo

StorageVolumeInfo.isSupported

XMLSignatureValidator

XMLSignatureValidator.isSupported

Sie können keine HTML- und JavaScript-basierten AIR-Anwendungen für das Profil für mobile Geräte schreiben.

Einige ActionScript 3.0-Klassen werden nur teilweise unterstützt:

Datei

iPhone-Anwendungen haben nur auf das Anwendungsverzeichnis und das Anwendungsspeicherverzeichnis Zugriff. Sie können auch File.createTempFile() und File.createTempDirectory() aufrufen. Wenn versucht wird, mit einer Operation auf ein anderes Verzeichnis zuzugreifen (zum Beispiel mit einer FileStream-Methode zum Lesen oder Schreiben), wird eine IOError-Ausnahme ausgegeben.

iPhone-Anwendungen unterstützen keine nativen Dateiauswahl-Dialogfelder wie das von der File.browseForOpen() -Methode bereitgestellte.

Loader

In einer iPhone-Anwendung können Sie die Loader.load() -Methode nicht verwenden. Sie können keinen ActionScript-Code in SWF-Inhalt ausführen, der mit der Loader.load() -Methode geladen wurde. Sie können jedoch Bestände (zum Beispiel Movieclips, Bilder, Schriftarten und Sounds aus der Bibliothek) in der SWF-Datei verwenden. Sie können die Loader.load() -Methode auch zum Laden von Bilddateien verwenden.

Video

Innerhalb von AIR-Anwendungen auf dem iPhone werden nur Sorensen-Video und ON2 VP6-Video unterstützt.

Mit der navigateToURL() -Methode können Sie ein H.264-Video außerhalb der Anwendung öffnen. Übergeben Sie ein URLRequest-Objekt mit einer URL, die zum Video führt, als request -Parameter. Das Video startet den Videoplayer des iPhone.

Textfelder

Es gibt Einschränkungen für Schriftarten und andere Einstellungen von Textfeldern auf dem iPhone. Siehe Schriftarten und Texteingabe .

Nicht unterstützte APIs und Debuggen mit ADL

Einige AIR-Funktionen, die auf dem iPhone nicht unterstützt werden, sind beim Testen einer Anwendung mit ADL (auf dem Entwicklungscomputer) verfügbar. Beachten Sie diese Unterschiede, wenn Sie Inhalte mit ADL testen.

Zu diesen Funktionen gehören die folgenden Video- und Audiocodecs: Speex (Audio), H.264/AVC (Video) und AAC (Audio). Diese Codecs stehen AIR-Anwendungen, die auf dem iPhone ausgeführt werden, nicht zur Verfügung. Sie funktionieren auf dem Desktop jedoch normal.

Die Unterstützung für Eingabehilfen und Bildschirmlesegeräte funktioniert in ADL unter Windows. Diese APIs werden auf dem iPhone jedoch nicht unterstützt.

Das RTMPE-Protokoll funktioniert bei Verwendung unter ADL auf dem Desktop normal. Eine NetConnection, die versucht, unter Verwendung des RTMPE-Protokolls eine Verbindung herzustellen, bleibt auf dem iPhone jedoch erfolglos.

Die Loader-Klasse funktioniert ohne weitere Einschränkungen, wenn Inhalt mit ADL ausgeführt wird. Beim Ausführen auf dem iPhone resultieren Versuche, SWF-Inhalt zu laden, der ActionScript-Bytecode enthält, jedoch zu einer Fehlermeldung.

Shader-Instanzen werden unter ADL ausgeführt. Auf dem iPhone wird Pixel Bender-Bytecode jedoch nicht interpretiert und Shader haben keinen grafischen Effekt.

Weitere Informationen finden Sie unter Debuggen von iPhone-Anwendungen .