얼마 전에 Adobe AIR 기반으로 다음 뮤직의 음원을 다운받는 어플리케이션을 개발했습니다. AIR 기반으로 어플리케이션을 개발한다는것 이 많은 사례를 가지고 있지 않았고 국내에는 2권 정도의 AIR 개발 서적밖에 존재 하지 않아 구글링에만 의존해서 여러가지로 고생을 했습니다.
지금부터 작성할 포스팅은 제목 그대로 AIR 개발을 하기 전에 알아 두면 좋은 것들입니다. 제가 몰라서 실수 했던 것들은 정리 한다는 의미가 더 크니 읽기 전에 참고 하세요.
AIR 기반으로 개발한다는것은 사용자 컴퓨터에 설치 후에 실행되는 어플리케이션을 만드는 것 입니다. Flash Player 기반은 주로 웹에 올려져서 사용되고 브라우저 라는 종속된 공간 안에서 실행 되는 것이기 때문에 사용자에게 영향을 미치는 범위가 AIR 에 비해 작습니다. 그래서 AIR 개발시에는 Flash Player 기반으로 개발 할 때는 하지 않았던 Applications & Installer Setting 작업을 하게 됩니다. 이번 포스팅에는 Application Setting 에 대해 다루겠습니다.
Flash IDE 나 Flex/Flash Builder 를 보면 어플리케이션과 설치할때 사용되는 인스톨러를 셋팅하는 패널이 있습니다. 이 패널 셋팅을 통해 기본적인 내용과 세부적인 내용을 셋팅 합니다. Flash IDE 에서는 위의 패널을 통해 셋팅을 하고 어플리케이션이 컴파일 될때 -app.xml 파일에 해당 내용이 포함되어 컴파일 됩니다. Flash Builder 에서는 -app.xml 파일을 직접 셋팅해서 어플리케이션과 인스톨러를 셋팅합니다. 셋팅된 내용들은 결과 적으로 -app.xml 파일로 작성 되는데 기본적인 내용들은 다음과 같습니다.
AirTest AirTest AirTest v1
-app.xml 이 많은 설정 값을 가지고 있기 때문에 모든 노드에 대해 설명하는건 의미 없을것 같고, 주의 해서 봐야할 부분은 다음과 같습니다.
1. <id></id>
어플리케이션의 고유 이름이다. 다른 어플리케이션과 겹치게 하면 절대로 안되며, 고유성을 유지 해야 한다. 배포시 변경했을 경우 새로운 어플리케이션으로 인식 되므로 업데이트가 안된다. 브라우저에서 어플리케이션을 실행 시킬때도 이 id 값을 이용한다.
trace(NativeApplication.nativeApplication.applicationID);
2. <version></version>
어플리케이션의 버전이다. 어플리케이션을 업데이트 할때 사용되며, 설치 파일을 생성할 당시 설정한 Version 과 Updater 클래스를 이용하여 업데이트 할때 전달하는 버전 정보가 다를때 업데이트를 실패 한다.
var descriptor:XML = NativeApplication.nativeApplication.applicationDescriptor; var air:Namespace = descriptor.namespaceDeclarations()[0]; var currentVersion:String = descriptor.air::version;
3. <programMenuFolder></programMenuFolder>
프로그램 메뉴 설정 옵션이고 아래는 Daum 뮤직 다운로드 매니저를 <programMenuFolder>Daum</programMenuFolder> 에 설정한 화면이다.
4. <installFolder></installFolder>
기본 설치 폴더를 설정하는 옵션이다. 아래는 Daum 뮤직 다운로드 매니저를 <installFolder>Daum</installFolder> 에 설정한 화면이다.
다음으로 다룰 내용은 어플리케이션 인증에 관한 부분입니다. AIR 기반의 어플리케이션은 사용자 컴퓨터에 설치 되고 악의적으로 사용자의 컴퓨터를 조작할 수 있는 기능들을 가질수 있기 때문에 사용자로 하여금 설치 전에 해당 어플리케이션이 안전한가를 인증서를 통해 입증 하는 것 입니다. 아래는 인증서 설정 탭 입니다.
인증서는 어플리케이션 설치 파일을 만들때만 사용됩니다. 이 인증서는 설치 파일이 배포된 후에 어플리케이션을 배포한 사람 외의 개발자가 어플리케이션을 임의로 수정하여 배포 하는 것도 방지해 줍니다. 실제로 AIR 개발 결과물인 .air 파일은 .zip 파일로 확장자만 바꾼다면 그 안에 포함되어 있는 .swf 파일 등을 볼수 있기 때문에 이 설치 파일을 임의로 변경 한다면 파일이 손상되어 어플리케이션이 설치 될 수 없다는 에러 메시지가 나타나게 됩니다.
인증서 발급 기관
VeriSign ( http://www.versign.com )
thawte ( http://www.thawte.com )
인증서가 없어도 개발자가 본인의 인증서를 만들어 사용할 수 있습니다. 하지만 공인 인증 기관에서 발급하지 않은 인증서는 위의 이미지와 같이 제작자 ID 가 알수 없다고 나오게 됩니다. 또한 어플리케이션을 출시한 뒤에 정상적으로 서비스를 하는 도중 인증서를 바꾸게 되면 기존에 서비스 하고 있는 어플리케이션이 새로운 버전의 어플리케이션으로 업데이트 할 수 없습니다.
오랜만에 쓰는 글이라 역시 힘드네요. 다음 포스팅에서는 업데이트에 대해 다룰 예정 입니다. 잘못된 내용이나 AIR 개발 중 고민하고 있는 부분들은 댓글을 통해 공유 주세요~
'Adobe AIR' 카테고리의 다른 글
[AIR] Native Installer로 패키징된 AIR 어플리케이션 Update (0) | 2011.09.12 |
---|---|
[AIR] Adobe AIR 개발시 BrowserInvokeEvent 의 arguments 값 (0) | 2011.02.18 |
[AIR] AIR for Android (2) | 2010.09.25 |