아주 간단한 날씨앱을 만들어봤는데, urlLoader가 잘 작동하는지 테스트해봤습니다^^

Flash로 개발하게 되었을 때 이점은 역시나 플래시만의 장점인 쉽게 그래픽을 그리고, 조작할 수 있다는 것이겠죠^^ 게임개발에 유용한...ㄷㄷ
게다가 이번에 안드로이드air까지 지원하면서 한가지의 코드로 데스크탑, 안드로이드, 아이폰앱까지 만들 수 있는 형태가 될 수 있죠(사실 Android와 Desktop은 하나의 프로젝트긴 한데, 아이폰은 AIR프로젝트가 아닌 아이폰OS프로젝트로 생성해야 만들 수 있긴하죠ㅠ).
그리고, iPhone개발을 위해 값비싼 맥북을 사지 않아도 되지요-_-(하지만, 역시....그냥 xcode로 개발하는 게...)
하지만, 모바일 기기 특성상 각각 장단점을 살릴 수 있는 기능들은 일부제한이 됩니다. 그런 기능들을 다 포기한다면 그나마 할 수 있는 분야는 게임분야겠네요^^ 게임분야는 제작하면 좋을 듯 하지만, 또 여기서 퍼포먼스가 좀 걸리네요. 제가 bitmap을 통해 뭔가 그리기 테스트를 해봤는데, 역시나 뭔가 좀 느린 듯한 느낌을 떨쳐버릴 순 없군요ㅠㅠ

일단 뭐 간단한 URLLoader를 이용해 데이터 뿌려주는 것부터 해봤긔...ㅠㅠ

일단 Adobe에서 제공하는 문서에 보면 엄청 잘나와있습니다^^
http://help.adobe.com/ko_KR/as3/iphone/index.html

준비물은 Flash CS5 랑 인증서생성 해주고 발급해주는 OpenSSL만 있으면 될 듯!

1. 인증서발급 및 프로비저닝 프로파일 받기
맥에서는 KeyChain Access라는 프로그램으로 막 만들면 되는데, 윈도우즈에서는 그게 없어요. 그래서 하는 방법이 어도비공식문서 잘 나와있네요~ 여기에서는 윈도우즈에서도 할 수 있는 방법이 있으니까 참조하세요~
http://help.adobe.com/ko_KR/as3/iphone/WS789ea67d3e73a8b2-240138de1243a7725e7-7ffd.html
혹시나.... 99딸라짜리 개발자등록을 안하셨다면 할 수 없습니다ㅠㅠ
근데, 제 아이팟은 탈옥을 해서 그런지, 안드로이드용 .p12파일과 아무 .mobileprovision파일로 해도 잘되더라구요. 기기에 그냥 테스트가 하고 싶으신 분이라면(제가 그랬음!기기에 어떻게 돌아가는지만 궁금했을 뿐), 탈옥(?)을 하셔서 테스트를 해보시는게...ㅠㅠ

2. Flash CS5에서 개발하기

Flash CS5를 열고 그냥 개발하면 됩니다(응?).
일단 새로만들기에 iPhone OS라는 게 있는데, 그걸로 생성하면 320x480사이즈의 플래시문서형태가 나옵니다. 일단 초간단한 구글날씨api를 이용해서 날씨를 불러와서 문서에 보여주는 형태의 코드를 해봤습니다.
[code]
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.errors.IOError;
import flash.utils.Timer;
import flash.events.TimerEvent;

var urlLoader:URLLoader;
var urlRequest:URLRequest;
var timer:Timer;

function init():void
{
    trace("init");   
   
    timer = new Timer(5000, 0);
    timer.addEventListener(TimerEvent.TIMER, timerHandler);
   
    urlLoader = new URLLoader();
    urlLoader.addEventListener(Event.COMPLETE, completeHandler);
    urlLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
   
    requestWeather();
}

function timerHandler(event:TimerEvent):void
{
    requestWeather();
}

function requestWeather():void
{
    urlRequest = new URLRequest("http://www.google.co.kr/ig/api?weather=seoul&temp=" + Math.random());
    urlLoader.load(urlRequest);
    timer.reset();
    timer.start();
}

function completeHandler(event:Event):void
{
    var xml:XML = new XML(urlLoader.data);
    trace(xml);
    var currentConditions:XMLList = xml.weather.current_conditions;
    var condition:String = currentConditions.condition.@data;
    var tempC:int = currentConditions.temp_c.@data;
    var humidity:String = currentConditions.humidity.@data;
    var weatherIcon:String = currentConditions.icon.@data;
    var windCondition:String = currentConditions.wind_condition.@data;
    trace(tempC + " " + humidity + " " + weatherIcon + " " + windCondition);
   
    imageLoader.source = "http://www.google.co.kr" + weatherIcon;
    labelTemp.text = tempC + "도";
    labelCondition.text = condition;
    labelWind.text = windCondition;
}

function errorHandler(event:IOErrorEvent):void
{
    trace("error = " + event.text);
    labelCondition.text = "오류발생!";
}

init();[/code]
아오....오늘 하루종일 어둡더니 계속 안개네요... 13일의 금요일이 보통 이런 날씨인데...
사용자 삽입 이미지

잘보면 아이콘이 어도비 에어입니다. 뭐 serversocket도 된다니 air가 맞겠네요^^

3. iPhone용에 넣기위해 ipa파일로 제작하기
파일 -> iPhone OS 설정 에서 보면 셋팅하는 게 있고, 배포탭을 보면 인증서와 프로비저닝 프로파일이 있는데, 그건 아까 1번에서 설명한 대로 넣으면 됩니다.
장치 테스트용 빠른 제작으로 하고 제작을 누르면 ipa를 만들기 시작합니다... ipa 생성까지 백만년 걸리는 것 같았습니다ㅠㅠ 엄청 느립니다ㅠㅠ

ipa파일이 해당 프로젝트 폴더에 생성이 되면 그걸 itunes에 있는 응용프로그램에 넣고, 동기화 시키면 아이폰/아이팟에 들어가 있을겁니다.

4. 아이폰/아이팟에서 확인
사용자 삽입 이미지
아오...나 레티나액정인데, 고화질로는 못만드는건가....ㅠㅠ 그냥 흐리게 나오네요ㅠㅠ

5. 후기의 한말씀-_-
그냥 맥북사시고, objective-c배우세요.

 
Posted by 머드초보

댓글을 달아 주세요

  1. happykju1218 2010.11.20 17:47  댓글주소  수정/삭제  댓글쓰기

    happykju1218@naver.com
    제아이팟은 탈옥했는데요 인증서꼭있어야되나요? 지금 그인증서살 여건이안되어든여
    출시할것도아니고 그냥 해볼려는건데 인증어생성하라고 플래시에서 막그러네요 ....
    메일로 알려주시면 감사하겠스빈다 ㅠㅠ

  2. 김정욱 2010.11.21 18:56  댓글주소  수정/삭제  댓글쓰기

    인증서가 안되서그러는데 자세히 알려주시거나 보내주시면안될까요????? ;;
    happykju1218@naver.com

  3. grimtong 2010.11.22 20:01  댓글주소  수정/삭제  댓글쓰기

    휴,...이제 인증에 성공했습니다...감사합니다.^^ 그런데 성능이 썩...(_ _) 기대치 만큼에 많이 못미치네요....오히려 안드로이드에서 더 좋은 성능을 보이네요.... 물론 다 테스트해본것은 아니지만 Alternativa3d로 만들어서 안드로이드와 아이폰 두대에 넣어봤는데....아이폰은 안습이네요..(_ _)
    암튼 감사합니다. ^___________^

  4. grimtong 2010.12.01 02:02  댓글주소  수정/삭제  댓글쓰기

    kju1218님 저도 빌려서 사용하는지라 드리기가 어렵네요... 아는 업체꺼 빌려쓰고 있거든요..

    그런데 제 아이폰 개발 기기 등록해서 내려받은거라서 님께서 컴파일은 하신다 해도 아이폰에

    설치가 안될겁니다....물론...탈옥하셨다면...가능할거 같지만요..^^ 죄송합니다. ^^

  5. tpman 2010.12.17 17:12  댓글주소  수정/삭제  댓글쓰기

    제 경우엔 .p12 파일과 .mobileprovision 파일 모두 정상적으로 넣고 제작해도 ipa 파일이 생성이 안되네요.
    오류가 나는건 아닌것 같고 뭔가 만들다 마는거 같은데...
    결과물에
    .xml
    air어쩌구.tmp
    AOTBuildOutput어쩌구.tmp 폴더 만 생겼는데 ipa는 안 생기는군요.
    혹시 왜 그런지 아시는분~ cs5는 구매한 정식 한글판입니다.
    모든 업데이트 완료했구요.

  6. 2011.01.20 15:19  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • BlogIcon 머드초보 2011.01.30 23:35 신고  댓글주소  수정/삭제

      아이폰용은 무료로 안되지만,
      안드로이드는 무료로 만들 수 있는데....
      그 eclipse에 안드로이드용 인증서 생성하는거 검색해보시면... 나올겁니다^^

  7. BlogIcon 액션신 2011.02.19 11:55  댓글주소  수정/삭제  댓글쓰기

    마침, 찾고 있었는데 올려 주신 글이 도움이 됐습니다. 감사합니다.

  8. 김태완 2011.03.28 15:06  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 flash 로 아이폰 공부를 해보려고해서 탈옥하고 하려는데요
    .p12는 그냥 인터넷 검색해서 만들었는데 .mobileprovision는 어떻게 만드나요?
    구글링 해도 잘 못찾아서 그런데 조언좀 부탁드립니다. 아무 .mobileprovision 만드는 법좀 ㅠㅜ

  9. airdeok 2011.05.04 15:17  댓글주소  수정/삭제  댓글쓰기

    한가지 질문하겠습니다. p12 파일을 안드로이드꺼 사용해도 어짜피 mobileprovision은 개발자 등록해야 생성할 수 있는거 아닌가요?

 
VMWare가 한건했네요-_-
저 같은 사용자를 위해 이런 것이 나와주다니 너무 고맙네요. VMWare에서도 OSX Snow Leopard를 거의 완벽하게 지원하게 만들어버렸습니다.
주 OS를 OSX를 사용하겠다는 사람들에게는 맥을 사거나 해킨토시를 이용해 설치하거나 하면 됩니다. 그리고, Windows는 vmware나 페럴러즈같은 가상머신으로 너무 잘 돌아가니 이렇게 설치를 하면 되는데, 주 OS가 Windows이고 가끔 아이폰개발을 위해 osx를 사용하고 싶은 사용자는 선택의 여지가 없었습니다-_- VMWare 6대 버전에서는 너무 느리게 돌아가고 제대로 지원이 안되었기 때문이죠.
하지만, VMWare7에서는 메인보드에서 가상화를 지원하면 아마 이걸 이용해서 속도개선을 한 듯 보여요.
이제 Windows에서 가상머신으로 vmware를 통해 osx snow leopard를 설치할 수 있습니다. 물론 공식적인 지원은 아닙니다. 근데, 속도는 정말 빠르군요. 일부러 노리고 만들었나-_-

사용자 삽입 이미지
업데이트도 잘됩니다. 그리고, 프로세서는 4.30ghz로 나오네요. 메모리는 2gb로 해야 부드럽게 잘 돌아가는 듯.
아....제 노트북 사양은 2.66GHz 듀얼, 4gb입니다. z36입니다. 설정시에는 메모리 2gb로 잡았죠.

설치 도움사이트.
OSX가상머신만들기 : http://blog.naver.com/baljern/140098696647
OSX설치하기: http://blog.naver.com/baljern/140098695323
OSX VMWare Tools 설치하기 : http://blog.naver.com/baljern/140098695308

여기서 해킨토시 h-sl106.iso 파일이 필요합니다. 알아서 구하셔야......-_-

그리고, 사운드와 그래픽이 조쿰 느린 것을 느끼게 되는데, 이건 드라이버를 설치해야합니다.
저 같은 경우 여기서 받은 드라이버를 설치하니 잘 되더라구요^^ 아래 요술램프 지니효과나 dock효과 등도 부드럽게 잘 나오더라구요. 사운드도 처음엔 안나왔는데 설치하니 잘 나옵니다.

http://vmsvga2.sourceforge.net/
Download VMsvga2 files 클릭 후, Video에는 Common용으로 받으면 되구, Audio오는 Snow Leopard랑 Leopard용이 구분해 있으니 알아서 받으시면 될 듯.

그리고, 잠자기 모드로 들어가는 것을 꺼줘야 합니다.
시스템 환경설정 -> 에너지 절약 메뉴에 있어요~ 거기서 그냥 둘 다 사용안함으로 해주시면 돼요.

아래는 구동영상을 한번 찍어봤어요.
캡쳐중이라서 그런지 조금 버벅이는 면이 있지만, 보시다시피 아이폰 개발하는데에는 전혀 지장을 주지 않을 정도로 부드럽습니다.

나도 아이폰개발해보자-_-
 
Posted by 머드초보

댓글을 달아 주세요

  1. BlogIcon 이민철 2010.01.23 01:27  댓글주소  수정/삭제  댓글쓰기

    굉장하네요!!
    좋은 정보 공유 고맙습니다!

  2. 2010.02.24 15:58  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • 머드초보 2010.02.26 10:11  댓글주소  수정/삭제

      아....전 파일공유를 하지 않습니다 ㅠㅠ
      토렌트를 이용하시면 금방 구하실 수 있을꺼에요 ^^

  3. BlogIcon 미친감자 2010.04.06 16:25  댓글주소  수정/삭제  댓글쓰기

    감사합니다. 좋은 정보...

  4. 이민철 2010.04.12 00:12  댓글주소  수정/삭제  댓글쓰기

    감사합니다~~ 저기 위엣분이랑 동명이인입니다 ㅋㅋㅋ

  5. 흰둥이 2010.11.26 12:13  댓글주소  수정/삭제  댓글쓰기

    링크를 따라 갔더니 비디오 드라이버가 삭제되었는지 안보이네요.
    따로 올려주실수 있나요?