API-интерфейсы ActionScript 3.0, неподдерживаемые на мобильных устройствах

Некоторые API-интерфейсы ActionScript 3.0 недоступны для приложений с профилем мобильного устройства, таких как приложения 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

Шейдер

ShaderFilter

StorageVolumeInfo

StorageVolumeInfo.isSupported

XMLSignatureValidator

XMLSignatureValidator.isSupported

Для мобильных устройств нельзя создавать приложения AIR с использованием кода HTML и JavaScript.

Некоторые классы ActionScript 3.0 поддерживаются только частично:

File

Приложения iPhone имеют доступ только к каталогу приложения и каталогу хранения приложений. Также можно вызывать методы File.createTempFile() и File.createTempDirectory() . Вызов операции для доступа к другому каталогу (например, метод чтения или записи FileStream) вызывает исключение IOError.

Приложения iPhone не поддерживают собственные диалоговые окна обозревателя файлов, например создаваемые методом File.browseForOpen() .

Loader

В приложении iPhone нельзя использовать метод Loader.load() . Однако нельзя выполнять какой-либо код ActionScript в содержимом SWF, загруженном с помощью метода Loader.load() . Но можно использовать активы в SWF-файле (такие как фрагменты роликов, изображения, шрифты и звуки в библиотеке). Для загрузки файлов изображений можно также использовать метод Loader.load() .

Видео

В приложениях AIR на iPhone поддерживаются только видеокодеки Sorensen и ON2 VP6.

С помощью метода navigateToURL() можно открыть видео в формате H.264 за пределами приложения. В качестве параметра request необходимо передать объект URLRequest, содержащий URL-ссылку на видео. Воспроизведение видео запускается в видеопроигрывателе iPhone.

Текстовые поля

В устройстве iPhone на использование шрифтов и других настроек текстовых полей накладываются ограничения. См. раздел « Шрифты и ввод текста ».

Неподдерживаемые API-интерфейсы и отладка с использованием ADL

Некоторые функциональные возможности AIR, которые не поддерживаются в устройстве iPhone, по-прежнему доступны при тестировании приложения с помощью ADL (на компьютере, используемом для разработки). Помните об этих различиях при тестировании содержимого с использованием ADL.

Эти функциональные возможности включают следующие видео- и аудиокодеки: Speex (аудио), H.264/AVC (видео) и AAC (аудио). Эти кодеки недоступны для приложений AIR, выполняющихся в устройстве iPhone. Однако они работают как обычно на настольном компьютере.

Поддержка расширенного доступа и средства чтения с экрана работает в ADL на платформе Windows. Однако эти API-интерфейсы не поддерживаются в устройстве iPhone.

Протокол RTMPE работает как обычно при использовании из ADL на настольном компьютере. Однако подключение NetConnection с использованием протокола RTMPE в устройстве iPhone выполняется неудачно.

Класс Loader работает без дополнительных ограничений, когда содержимое выполняется с использованием ADL. Однако при выполнении в устройстве iPhone попытки загрузить содержимое SWF с байт-кодом ActionScript заканчиваются появлением сообщения об ошибке.

Экземпляры шейдера выполняются в ADL. Однако в устройстве iPhone байт-код Pixel Bender не интерпретируется и шейдеры не имеют графического эффекта.

Дополнительные сведения см. в разделе « Отладка приложения iPhone ».