본문 바로가기

Dev/Dev:: FLEX & AS3

[Flex][Mobile] - iOS 에서 "Uncompiled ActionScript" 팝업이 나타나지 않도록 하는 방법

안녕하세요 ㅎㅎ

Adobe AIR / Flex / ActionScript3 등을 사용해서 Application을 개발하다보면
swf file을 load해서 사용하는 경우가 있습니다.
보통 많은 animation 파일들이 swf 형식일거라고 생각되네요.

하지만 mobile에서 Release하여 app을 실행해보면 
Android에서는 전혀 문제가 되지 않는데....
iOS에서는 "Uncompiled ActionScript" 라는 경고창이 생기더라구요.
확인 (OK) 버튼만 클릭해주면 정상적으로 작동하지만..
뭔가 경고 PopUp이 나타나는게 꺼림칙합니다..




그래서 오늘은!!
iOS에서 이 "Uncompiled ActionScript" 팝업이 나타나지 않는 방법에 대해 알려드립니다.


우선 원인에 대해서는 Packaging하는 방식에는 Interpreter와 AOT 두 가지 방식이 있는데
1. 먼저, 일반적으로 디버깅할 때 사용하는 Run & Debug는 Interpreter 방식은
swf를 load하고 play하는데 있어서 정상적으로 작동합니다.

2. 하지만 release를 통한 packaging 방식은 AOT 방식을 사용하는데,
여기서 swf compile에 대해 무언가 경고 message를 주는 듯 합니다.

자세한 내용은 adobe 페이지에 나온 내용을 참고하세요


그럼 이제 해결 방법에 대해 알아보겠습니다.
먼저 Project - Export Release Build... 를 선택해 packaging 작업을 시작해보자~!

그럼 release를 하기 위해 진행하다 보면 Certificate 와 provisioning file을 입력하는
Packaging setting란 하단에 Custom Launch.. 를 선택합니다.



Add Parameter.. 를 선택해 -useLegacyAOT라는 Build 옵션을 추가합니다.
  • Name : -useLegacyAOT
  • Value : yes



추가 된 Parameter에 추가된 것을 확인한 후 "OK" 버튼을 클릭!!

이제 packaging을 시작합니다.


 packaging이 저 옵션을 사용하면 더더더 오래 걸리더라구요 ㅠㅠ
그래도 완료 후 app을 시작하면  "Uncompiled ActionScript" 팝업 없이
정상적으로 swf를 잘 사용하실 수 있습니다.