移动设备不支持 ActionScript 3.0 API

不支持某些 ActionScript 3.0 API 用于在移动设备配置文件中运行的应用程序,如在 iPhone 上运行的应用程序。

当使用相同的 ActionScript 代码开发多个配置文件(例如桌面和移动设备配置文件)时,使用代码测试是否支持某个 API。例如,iPhone 应用程序中不支持 NativeWindow 类。(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 support

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

文件

iPhone 应用程序只能访问应用程序目录和应用程序存储目录。您也可以调用 File.createTempFile() File.createTempDirectory() 。调用某个操作以访问另一个目录(例如 FileStream 读取或写入方法)会导致 IOError 异常。

iPhone 应用程序不支持本机文件浏览器对话框,例如 File.browseForOpen() 方法提供的对话框。

Loader

在 iPhone 应用程序中,无法使用 Loader.load() 方法。但在使用 Loader.load() 方法加载的 SWF 内容中又无法运行任何 ActionScript 代码。不过您可以使用 SWF 文件中的资源(例如库中的影片剪辑、图像、字体和声音)。您还可以使用 Loader.load() 方法加载图像文件。

视频

iPhone 上的 AIR 应用程序中仅支持 Sorensen 视频和 ON2 VP6 视频。

您可以使用 navigateToURL() 方法打开该应用程序之外的 H.264 视频。作为 request 参数,该方法传递 URLRequest 对象,其中 URL 指向该视频。视频将在 iPhone 的视频播放器中启动。

Text fields

iPhone 中文本字段的字体和其他设置存在一些限制。请参见 字体和文本输入

不支持的 API 和使用 ADL 进行调试

iPhone 中某个不支持的 AIR 功能在使用 ADL 测试应用程序(在开发计算机上)时仍然可用。在使用 ADL 测试内容时,请注意这些区别。

此功能包含下列视频和音频编解码器:Speex(音频)、H.264/AVC(视频)和 AAC(音频)。这些编解码器对在 iPhone 上运行的 AIR 应用程序不可用。然而,它们可以继续在桌面上正常运行。

辅助功能和屏幕阅读器支持在 Windows 上的 ADL 中工作。然而,iPhone 中不支持这些 API。

如果从桌面上的 ADL 使用 RTMPE 协议,该协议可以正常运行。然而,尝试使用 RTMPE 协议连接的 NetConnection 在 iPhone 上无法正常运行。

如果使用 ADL 执行内容,则 Loader 类可以正常运行,没有其他限制。然而,当在 iPhone 中执行时,尝试加载包含 ActionScript 字节代码的 SWF 内容会导致错误消息。

Shader 实例在 ADL 中执行。然而,在 iPhone 中无法解释 Pixel Bender 字节代码,而且着色器没有图形效果。

有关详细信息,请参阅 调试 iPhone 应用程序