モバイルデバイスでサポートされていない ActionScript 3.0 API

一部の ActionScript 3.0 API は、モバイルデバイスプロファイルで実行するアプリケーション(iPhone で実行するアプリケーションなど)ではサポートされていません。

同じ ActionScript コードを使用して、デスクトップやモバイルなど、各種のプロファイル用にアプリケーションを開発する場合は、API がサポートされているかどうかをテストするコードを使用します。例えば、NativeWindow クラスは iPhone アプリケーションではサポートされていません(iPhone アプリケーションでは、ネイティブウィンドウの使用も作成もできません)。ネイティブウィンドウをサポートするプロファイル(デスクトッププロファイルなど)でアプリケーションが実行されているかどうかをテストするには、NativeWindow.isSupported プロパティを確認します。

以下の表は、モバイルデバイスプロファイルでサポートされていない API を示します。また、この表には、API をサポートするプラットフォーム上でアプリケーションが実行されているかどうかを判断するために使用するプロパティも記載されています。

API

サポート状態のテスト

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 サポート

HTMLLoader.pdfCapability

PrintJob

PrintJob.isSupported

SecureSocket

SecureSocket.isSupported

ServerSocket

ServerSocket.isSupported

Shader

ShaderFilter

StorageVolumeInfo

StorageVolumeInfo.isSupported

XMLSignatureValidator

XMLSignatureValidator.isSupported

モバイルデバイスプロファイル用の HTML ベースおよび JavaScript ベースの AIR アプリケーションを記述することはできません。

次に示す一部の ActionScript 3.0 のクラスは、部分的にしかサポートされません。

File

iPhone アプリケーションは、アプリケーションディレクトリおよびアプリケーションストレージディレクトリのみにアクセスできます。File.createTempFile() および File.createTempDirectory() を呼び出すこともできます。操作を呼び出して別のディレクトリ(FileStream の read または write メソッドなど)にアクセスすると、IOError の例外が発生します。

iPhone アプリケーションでは、File.browseForOpen() メソッドで提供されるような、ネイティブファイルブラウザーダイアログボックスはサポートされていません。

Loader

iPhone アプリケーションでは、Loader.load() メソッドを使用できません。Loader.load() メソッドを使用してロードされた SWF コンテンツ内の ActionScript コードを実行することができません。ただし、SWF ファイル内のアセット(ライブラリ内のムービークリップ、イメージ、フォント、音声など)は使用できます。また、イメージファイルをロードするために Loader.load() を使用することもできます。

Video

iPhone 上の AIR アプリケーションでサポートされるのは、Sorensen ビデオおよび ON2 VP6 ビデオだけです。

navigateToURL メソッドを使用して、アプリケーションの外で H.264 ビデオを開くことができます。request パラメーターとして、目的のビデオを示す URL と共に URLRequest オブジェクトを渡します。指定されたビデオが、iPhone のビデオプレーヤーで起動されます。

テキストフィールド

iPhone 上のテキストフィールドのフォントおよびその他の設定には制限事項があります。フォントとテキスト入力を参照してください。

ADL を使用したサポート対象外の API およびデバッグ

iPhone 上でサポートされない AIR 機能の中には、(開発コンピューター上で)ADL を使用してアプリケーションをテストする際に利用できるものがあります。ADL を使用してコンテンツをテストする際にこれらの違いについて気を付けてください。

この機能には、Speex (オーディオコーデック)、H.264/AVC (ビデオコーデック)および AAC (オーディオコーデック)が含まれています。これらのコーデックは iPhone で実行する AIR アプリケーションでは利用できません。ただし、デスクトップ上では正常に動作します。

Windows の ADL では、ユーザー補助機能および文字読み上げ機能が動作します。しかし、これらの API は iPhone ではサポートされません。

RTMPE プロトコルはデスクトップ上の ADL から使用する場合には正常に動作します。しかし、RTMPE プロトコルを使用して接続を試みる NetConnection は、iPhone では成功しません。

Loader クラスは、コンテンツが ADL で実行される場合は、特に制限なく動作します。しかし、iPhone 上で実行される場合は、ActionScript バイトコードを含む SWF コンテンツをロードしようとすると、エラーメッセージが出力されます。

Shader インスタンスは ADL で実行できます。しかし、iPhone 上では、ピクセルベンダーバイトコードは解釈されず、シェーダーによるグラフィカルな効果が表れません。

詳しくは、iPhone アプリケーションのデバッグを参照してください。