장치 프로파일

Adobe AIR 2 이상

프로파일은 응용 프로그램이 작동하는 컴퓨팅 장치의 클래스를 정의하기 위한 메커니즘입니다. 프로파일은 특정 클래스의 장치에서 일반적으로 지원되는 API 및 기능 집합을 정의합니다. 사용 가능한 프로파일은 다음과 같습니다.

  • desktop

  • extendedDesktop

  • mobileDevice

  • extendedMobileDevice

응용 프로그램 설명자에서 응용 프로그램의 프로파일을 정의할 수 있습니다. 포함된 프로파일에 있는 컴퓨터 및 장치의 사용자는 응용 프로그램을 설치할 수 있지만 다른 컴퓨터 및 장치의 사용자는 설치할 수 없습니다. 예를 들어 응용 프로그램 설명자에 데스크톱 프로파일만 포함하는 경우에는 데스크톱 컴퓨터에서만 사용자가 응용 프로그램을 설치하고 실행할 수 있습니다.

응용 프로그램에서 제대로 지원하지 않는 프로파일을 포함하면 해당 환경에서 사용자가 작업하기가 어려울 수 있습니다. 응용 프로그램 설명자에서 프로파일을 지정하지 않으면 AIR에서 응용 프로그램을 제한하지 않습니다. 지원되는 포맷 중 하나로 응용 프로그램을 패키지화하면 모든 프로파일에 있는 장치의 사용자가 해당 응용 프로그램을 설치할 수 있습니다. 하지만 런타임에 제대로 작동하지 않을 수 있습니다.

해당되는 경우 응용 프로그램을 패키지화할 때 프로파일 제한이 적용됩니다. 예를 들어 extendedDesktop 프로파일만 포함하면 응용 프로그램을 AIR 파일로 패키지화할 수 없고 기본 설치 프로그램으로만 패키지화할 수 있습니다. 마찬가지로 mobileDevice 프로파일을 포함하지 않으면 응용 프로그램을 Android APK로 패키지화할 수 없습니다.

한 컴퓨팅 장치에서 여러 개의 프로파일을 지원할 수 있습니다. 예를 들어 데스크톱 컴퓨터의 AIR는 데스크톱 및 extendedDesktop 프로파일에 있는 응용 프로그램을 지원합니다. 하지만 확장 데스크톱 프로파일 응용 프로그램은 기본 프로세스와만 통신할 수 있으며 기본 설치 프로그램(exe, dmg, deb 또는 rpm)으로 패키지화해야 합니다. 반면에 데스크톱 프로파일 응용 프로그램은 기본 프로세스와 통신할 수 없습니다. 데스크톱 프로파일 응용 프로그램은 AIR 파일 또는 기본 설치 프로그램으로 패키지화할 수 있습니다.

프로파일에 기능을 포함하면 해당 프로파일이 정의되는 장치 클래스에서 이 기능이 공통적으로 지원됩니다. 그렇다고 해서 프로파일에 있는 모든 장치가 모든 기능을 지원하는 것은 아닙니다. 예를 들어 대부분의 휴대폰에 Accelerometer가 포함되어 있지만 모든 휴대폰에 포함된 것은 아닙니다. 범용 지원이 없는 클래스 및 기능에는 주로 부울 속성이 있으며 기능을 사용하기 전에 이 부울 속성을 확인할 수 있습니다. 예를 들어 Accelerometer의 경우 정적 속성 Accelerometer.isSupported 를 테스트하여 현재 장치에 지원되는 Accelerometer가 있는지 여부를 확인할 수 있습니다.

응용 프로그램 설명자에서 supportedProfiles 요소를 사용하여 다음 프로파일을 AIR 응용 프로그램에 할당할 수 있습니다.

데스크톱
데스크톱 프로파일은 데스크톱 컴퓨터에 AIR 파일로 설치되는 AIR 응용 프로그램의 기능 세트를 정의합니다. 이러한 응용 프로그램은 지원되는 데스크톱 플랫폼(Mac OS, Windows 및 Linux)에서 설치되어 실행됩니다. AIR 2 이전 버전에서 개발된 AIR 응용 프로그램은 데스크톱 프로파일로 간주될 수 있습니다. 일부 API는 이 프로파일에서 작동하지 않습니다. 예를 들어, 데스크톱 응용 프로그램이 기본 프로세스와 통신할 수 없습니다.

확장 데스크톱
확장 데스크톱 프로파일은 기본 설치 프로그램으로 패키지화되어 설치된 AIR 응용 프로그램의 기능 집합을 정의합니다. 이러한 기본 설치 프로그램은 Windows의 경우 EXE 파일, Mac OS의 경우 DMG 파일, Linux의 경우 BIN, DEB 또는 RPM 파일입니다. 확장 데스크톱 응용 프로그램에는 데스크톱 프로파일 응용 프로그램에 제공되지 않는 추가 기능이 있습니다. 자세한 내용은 데스크톱 기본 설치 프로그램 패키지화 를 참조하십시오.

휴대 장치
휴대 장치 프로파일은 휴대 전화, 타블렛과 같은 휴대 장치에 설치된 응용 프로그램의 기능 집합을 정의합니다. 이러한 응용 프로그램은 Android, Blackberry Tablet OS 및 iOS를 포함하여 지원되는 모바일 플랫폼에서 설치 및 실행됩니다.

확장 휴대 장치
확장 휴대 장치 프로파일은 휴대 장치에 설치된 응용 프로그램의 확장된 기능 집합을 정의합니다. 현재로서 이 프로파일을 지원하는 장치는 없습니다.

응용 프로그램 설명자 파일에 대상 프로파일 제한

AIR 2부터 응용 프로그램 설명자 파일에는 대상 프로파일을 제한하는 데 사용할 수 있는 supportedProfiles 요소가 포함됩니다. 예를 들어, 다음 설정은 응용 프로그램을 데스크톱 프로파일에서만 사용할 수 있도록 지정합니다.
<supportedProfiles>desktop</supportedProfiles>

이 요소가 설정되면 사용자가 나열한 프로파일에서만 응용 프로그램을 패키지화할 수 있습니다. 다음 값을 사용합니다.

  • desktop - 데스크톱 프로파일

  • extendedDesktop - 확장 데스크톱 프로파일

  • mobileDevice - 휴대 장치 프로파일

supportedProfiles 요소는 선택 사항입니다. 응용 프로그램 설명자 파일에 이 요소를 포함하지 않으면 모든 프로파일에서 응용 프로그램을 패키지화하고 배포할 수 있습니다.

supportedProfiles 요소에서 여러 프로파일을 지정하려면 다음과 같이 공백 문자를 사용하여 구분하십시오.

<supportedProfiles>desktop extendedDesktop</supportedProfiles>

각 프로파일의 기능

다음 표에는 일부 프로파일에서만 지원되는 클래스 및 기능이 나와 있습니다.

클래스 또는 기능

desktop

extendedDesktop

mobileDevice

Accelerometer(Accelerometer.isSupported)

아니요

아니요

확인

Accessibility(Capabilities.hasAccessibility)

아니요

어쿠스틱 에코 제거(Microphone.getEnhancedMicrophone())

아니요

ActionScript 2

아니요

CacheAsBitmap 매트릭스

아니요

아니요

Camera(Camera.isSupported)

CameraRoll

아니요

아니요

CameraUI(CameraUI.isSupported)

아니요

아니요

전용 런타임 번들

ContextMenu(ContextMenu.isSupported)

아니요

DatagramSocket(DatagramSocket.isSupported)

DockIcon(NativeApplication.supportsDockIcon)

확인

확인

아니요

드래그 앤 드롭(NativeDragManager.isSupported)

확인

EncyptedLocalStore(EncyptedLocalStore.isSupported)

Flash Access(DRMManager.isSupported)

아니요

GameInput(GameInput.isSupported)

아니요

아니요

아니요

Geolocation(Geolocation.isSupported)

아니요

아니요

확인

HTMLLoader(HTMLLoader.isSupported)

아니요

IME(IME.isSupported)

확인

LocalConnection(LocalConnection.isSupported)

아니요

Microphone(Microphone.isSupported)

확인

다중 채널 오디오(Capabilities.hasMultiChannelAudio())

아니요

아니요

아니요

기본 확장

아니요

NativeMenu(NativeMenu.isSupported)

아니요

NativeProcess(NativeProcess.isSupported)

아니요

아니요

NativeWindow(NativeWindow.isSupported)

아니요

NetworkInfo(NetworkInfo.isSupported)

확인

기본 응용 프로그램으로 파일 열기

제한

아니요

PrintJob(PrintJob.isSupported)

아니요

SecureSocket(SecureSocket.isSupported)

확인

ServerSocket(ServerSocket.isSupported)

Shader

제한

Stage3D(Stage.stage3Ds.length)

스테이지 방향(Stage.supportsOrientationChange)

아니요

아니요

StageVideo

아니요

아니요

확인

StageWebView(StageWebView.isSupported)

로그인할 때 응용 프로그램 시작(NativeApplication.supportsStartAtLogin)

아니요

StorageVolumeInfo(StorageVolumeInfo.isSupported)

아니요

시스템 유휴 모드

아니요

아니요

SystemTrayIcon(NativeApplication.supportsSystemTrayIcon)

확인

확인

아니요

Text Layout Framework 입력

아니요

Updater(Updater.isSupported)

아니요

아니요

XMLSignatureValidator(XMLSignatureValidator.isSupported)

아니요

표에 있는 항목의 의미는 다음과 같습니다.

  • 확인 - 프로파일에 있는 일부 장치에서 기능이 지원되지만 모든 장치에서 지원되는 것은 아닙니다. 사용하기 전에 런타임에 기능이 지원되는지 여부를 확인해야 합니다.

  • 제한 - 기능이 지원되지만 크게 제한됩니다. 자세한 내용은 관련 설명서를 참조하십시오.

  • 아니요 - 프로파일에서 기능이 지원되지 않습니다.

  • - 프로파일에서 기능이 지원됩니다. 개별 컴퓨팅 장치에서 기능에 필요한 하드웨어가 없을 수도 있습니다. 예를 들어 모든 휴대폰에 카메라가 있는 것은 아닙니다.

ADL로 디버깅할 때 프로파일 지정

ADL은 응용 프로그램 설명자 파일의 supportedProfiles 요소에서 지원되는 프로파일이 지정되었는지 확인합니다. 파일이 지정되었으면 디버그할 때 기본적으로 ADL은 프로파일로 나열된 것 중 지원되는 첫 번째 프로파일을 사용합니다.

-profile 명령줄 인수를 사용하여 ADL 디버그 세션에 대한 프로파일을 지정할 수 있습니다. ADL(AIR Debug Launcher) 을 참조하십시오. 응용 프로그램 설명자 파일에서 supportedProfiles 요소에 프로파일을 지정하는지 여부에 관계없이 이 인수를 사용할 수 있습니다. 하지만 supportedProfiles 요소를 지정할 경우 명령줄에 지정한 프로파일을 포함해야 합니다. 그렇지 않으면 ADL에서 오류가 발생합니다.