Adobe AIR 애플리케이션 배포후 publisher ID 파일이 누락되는 문제.
2010/02/01 12:32
[공지]이미지나 링크가 깨졌다면 댓글 부탁드립니다.
최근에 Flex 4.0 기반으로 Adobe AIR 애플리케이션을 개발하는 프로젝트를 맡았다. 현시점(2010.2.1) Flex 4.0 SDK에 함께 있는 AIR SDK 버전은 한단계 구버전인 1.5.2이기 때문에 가장 최신 버전인 1.5.3을 기존 Flex 4.0 SDK에 덮어씌운 상태에서 개발을 진행했었다. 문제없이 개발할 수 있다.그런데 애플리케이션 배포시 문제가 발생했다. AIR 애플리케이션을 설치하면 설치 디렉토리 밑에 META-INF/AIR/publisherid 파일이 존재해야 한다. 그런데 이 파일이 없는 것이다. publisherid는 인증서의 고유 ID를 담고 있다. 이 파일이 없는 상태에서 배포, 업데이트 모두 잘되지만 badge에서 이미 설치된 AIR 애플리케이션이 있는지 여부를 판단할 수 없었다. 사실 배포,업데이트가 잘 되기 때문에 이 상태로 배포해도 문제는 없지만 너무 꺼름칙했다. (AIR의 장점중 하나가 쉽게 설치된 AIR 애플리케이션과 Flash의 연동이 큰 장점 아니던가....)
이 문제의 원인을 찾고자 별짓을 다하다가 SDK 문제라는 것에 귀결을 내리게 되었다. 문제는 Flex 4.0 SDK에 AIR 1.5.3 SDK를 덮은것에서 비롯되었다. 기존 Flex 4.0 SDK에서 AIR 1.5.2 기반으로 만들어 배포하면 Publisher ID 파일이 있지만 AIR 1.5.3으로 덮어씌우고 배포하면 이 파일이 없었던 것이다. 개발, 컴파일까지 모두 잘되는데 말이다. ㅎㅎ
결국 나는 Flex 4.0 기반으로 애플리케이션을 거의 완성한 상태라서 AIR 1.5.2 기반으로 배포할 수 밖에 없게 되었다. 편리하고 빠른 개발을 위해 Flex 4.0를 선택했지만 AIR 버전이 구버전으로 인한 문제점은 정말 예상치 못한 일이었다.
개발하다 보면 별에 별일이 많은데... 정말 이렇게 크리티컬한 상황까지 보게 되니 정말 웃기기 까지 한다.
질문?
Flex 4.0에 AIR 1.5.3을 덮어씌워도 publisher id 파일이 누락되지 않도록 하는 방법은 뭘까요? 혹시 알게되면 댓글이나 트랙백 부탁합니다.
추가 1
Flex 3의 최신버전인 Flex 3.5의 경우에는 AIR 1.5.3 SDK가 함께 있는데... Flex 4는 왜???? ㅡㅡ;;
추가 2
Flex 4.0 SDK의 beta 2 버전은 4.0.0.10485 이다. 이 버전은 AIR 1.5.2 SDK이다. 하지만 최신 Nightly Builder 버전으로 다운로드 받으면 AIR 1.5.3이 기본이다. 그냥 이걸로 개발해야겠다.
추가 3
Adobe AIR 1.5.3 부터는 PublisherID가 기본적으로 제거됩니다. http://blog.jidolstar.com/655
글쓴이 : 지돌스타(http://blog.jidolstar.com/652)
'Adobe Flash Platform' 카테고리의 다른 글
| Adobe 케빈 린치의 '컨텐츠 및 애플리케이션에 대한 오픈 액세스' (4) | 2010/02/05 |
|---|---|
| 구글 크롬의 플래시 재생 문제 해결 (1) | 2010/02/02 |
| Adobe AIR 애플리케이션 배포후 publisher ID 파일이 누락되는 문제. (9) | 2010/02/01 |
| Adobe Stratus 2.0 - 더욱 향상된 Flash Player로 P2P 구현 (14) | 2010/01/25 |
| [Adobe AIR] HTMLLoader에 로드되는 HTML문서에 trace 기능 추가하기 (8) | 2010/01/23 |
| ACP(Adobe Community Professional)가 되었습니다. (24) | 2010/01/22 |




아 글 잘 보았습니다.
개발환경이 꼬인것이군요....
C:\Program Files\HelloAIR\META-INF\AIR 폴더에
publisherid파일은 정상적으루 있네요..
개발 환경 세팅은 지돌스타님의 블로그를 보고 그대로 했는데...
http://www.naiyumie.pe.kr/Air/ApollocationBadge.html
뭐가 꼬였는지 저도 모르겠어요. ㅎㅎ
어라.. 전 AIR 1.5.3이 들어있는데요 ㅎㅎ
네~~ beta가 아닌 가장 최신이면 그렇더군요. ^^
아.. beta2 branch에 놓으셨군요 ㅎㅎ
하긴.. trunk나 4.0.0 브랜치에 놓으면 flex-config.xml 파일이 Flash Builder beta2에서 인식 못하는 부분이 있어서 불편.. ㅎㅎ
형 저는 AIR 2.0 SDK로 사용하고 있는데 publisher id 파일 있네요.
정말 형꺼만 어떻게 이상하게 꼬인거 아닌가 싶어요 ㅋㅋ
여러번 반복해도 마찬가지더라고
그래서 다음부터는 Flex SDK에 AIR를 덮어씌워 개발하는 방식을 지양할려고해. 물론 테스트가 주목적이라면 그렇게 해야겠지만..
좋은 글 잘 보고 있습니다.
저는 Flash Builder 4 beta 2에 air 2.0 beta 2로 애플리케이션을 개발하고 있는데, 역시 publishid가 생기지 않더군요.
왜 그런지 구글링을 좀 해봤더니,
As of AIR 1.5.3, publisher IDs are deprecated. New applications (originally published with AIR 1.5.3 or later) do not need and should not specify a publisher ID.
이런 어도비 문서를 찾을 수 있었습니다.
http://help.adobe.com/en_US/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7fd6.html
혹시 이것 때문이 아닐까 싶네요.
그렇군요....
http://www.adobe.com/support/documentation/en/air/1_5_3/releasenotes_developers.html
http://thanksmister.com/index.php/archive/migrating-expired-certificates-air153/
Publisher ID가 필요하지 않는 애플리케이션인 경우라면 명시적으로 넣지 않아도 된다는 의미가 되는군요. 기존 AIR버전을 AIR1.5.3으로 업데이트해야하는 경우라면 디스크립터 파일에 publisherId를 지정해야하네요. 어허.... 전 왜 이런 내용을 못찾았을까요?
정말 감사합니다. 모든 의문이 풀렸네요.