iOS 2010.04.09 15:56
어제 애플에서 아이폰 OS 4에 관련된 내용들을 발표했습니다. 직접 보지는 못하고 애플 사이트에서 iPhone OS 4 Event 키노트를 보았습니다.

예전 같으면 SDK 베타부터 다운로드 받아 설치했을 것 같은데 이제는 업무로 Xcode를 사용하다 보니 베타 버젼은 설치를 기피하게 되네요. 그런 변명도 있고 제가 가진 OS X가 10.5라 더이상 업그레이드를 할 수 없는 상태이기도 합니다. 맥북이라 느리기도 하고 조만간 아이맥을 구입해야 할 것 같습니다. 이젠 더 이상 손을 놓고 기다리기 힘들게 되었습니다.

맥의 OS X도 마찬가지지만 이번 아이폰 OS의 업그레이드 내용을 보면 'OS 업그레이드는 이렇게 하는 것이다'라는 전형적인 모범답안을 보여주고 있는 것 같습니다. 1.0부터 모든 버젼의  업그레이드를 이미 다 계획해 놓은 듯이 보여질 정도로 단계적으로 업그레이드를 해갈때 마다 완성형에 가까운 모습으로 가고 있는 것 같습니다.

이번 업그레이드도 많은 변경이 있지만 키노트에서는 아래와 같이 7가지 주요 기능을 위주로 설명하고 있습니다. 간단한 내용은 아래와 같습니다.

1. 멀티태스킹
오랫동안 논란이 되어왔던 멀티태스킹이 드디어 아이폰에서도 가능하게 되었습니다. 멀티태스킹은 하드웨어의 성능때문에 아이폰 3GS와 3세대 터치에서만 가능합니다.

2. 폴더
폴더를 만들어 비슷한 어플을 그룹화시켜 저장할 수 있습니다. 이로인해 기존 180개에서 2,160개까지 어플을 저장할 수 있게 되었습니다. 배경화면도 사용자가 지정한 이미지로 설정할 수 있게되었습니다.

3. 메일
메일함이 통합되고 메일을 스레드로 볼 수 있게 되었습니다. 또한 성능이 개선되고 첨부파일을 서드파티 어플에서 열어 볼 수 있습니다.

4. 아이북
아이패드에서 보았던 아이북이 아이폰에도 추가되었습니다.

5. 엔터프라이즈
데이터 보안이 강화되고 SSL VPN을 지원합니다. 데이터 보안 API는 일반 개발자들도 사용할 수 있습니다.  그리고 인하우스 앱들은 네트워크를 사용해 설치할 수 있습니다.

6. 게임센터
게임센터가 추가되었습니다. 친구를 초대하고 대전상대를 찾고 스코어가 기록됩니다.

7. 아이애드
iAd란 어플리케이션에서의 광고를 지원합니다. 이익의 60%가 어플리케이션 개발자에게 지급됩니다.

가장 큰 변경사항은 멀티태스킹입니다. 이로인해 어플리케이션이 백그라운드로 실행될 수 있기때문에 이와 관련된 메소드들이 많이 추가되었습니다. 백그라운드로 전환되어 대기상태가 될때는 OpenGL ES 메소드를 호출한다거나 네트워크을 사용하지 말아야하며 주소록 같은 시스템 리소스도 해제해야합니다. 많은 메모리를 사용하고 있다면 이역시 해제해야합니다.

만약 메모리와 같은 시스템 리소스가 부족하면 백그라운드에서 실행중인 어플리케이션이 먼저 제거대상이됩니다. 또한 시스템이 어플리케이션이 백그라운드로 전환될 때 메인윈도우를 캡쳐해 놓고 전환시 사용하기 때문에 패스워드같이 민감한 정보는 해당윈도우에서 삭제하길 권장하고 있습니다. 그리고 사용자 설정이 변경될 때 어플이 대응할 수 있도록 필요하다면 관련 통보 메시지를 처리해야 합니다. 이와함께 백그라운드에서 실행되는 어플들이 알려야할 내용이 있을때 사용할 수 있도록 위해 로컬 노티피케이션도 추가되었습니다.

Game Kit에는 게임센터를 지원하는 메소드들이 추가되었습니다. 애플에서 제공하는 서버와 서비스를 이용하여 사용자들의 점수를 저장할 수 있고 사용자들은 특정 사용자를 초대하거나 다른 사용자들을 선택할 수 있습니다.

이외에 어플리케이션에서도 SMS를 보내고 파일을 공유하고 PDF를 생성하고 사용자 폰트를 사용할 수 있는등 많은 기능과 서비스들이 추가되고 변경되었습니다. 애플에서 제공하는 iPhone OS 4 beta API Diffs란 문서를 참조하시면 4.0 SDK에서 추가된 내용들을 확인하실 수있습니다.

현재 애플의 기세는 MS, 구글, 아도비, 닌텐도, 소니등 모든 IT 업체들과 적이되어 홀홀 단신으로 싸울려는 모습으로 보여지기도 합니다. 이런 자신감은 수많은 어플리케이션을 올리며 든든히 뒤에는 바쳐주는 개발사와 개발자가 있기 때문이 아닌가라는 생각도 듭니다.

이번 SDK 4.0에서 추가된 많은 서비스와 API를 이용하여 지금과는 또다른 독특하고 재미있는 어플들이 많이 나올 것 같다는 생각이 듭니다.

'iOS' 카테고리의 다른 글

아이폰 OS 4  (8) 2010.04.09
NSXMLParser로 RSS 읽어오기  (21) 2009.08.05
인터페이스빌더 Table View Cell 사용하기  (0) 2009.06.25
cocos2d 개발환경 설정  (24) 2009.04.13
iPhone SDK 3.0 beta 2  (4) 2009.04.05
UITableView의 메모리 누수 현상  (4) 2009.02.05
모든 댓글을 환영합니다. (욕설과 광고는 삭제합니다.)
  1. Favicon of http://object-c.com BlogIcon fzud 2010.04.09 18:42  댓글주소  수정/삭제  댓글쓰기

    잘 봤습니다. 저도 멀티테스킹 부분에 관련해서 이것저것 기술문서를 봤는데 아직 좀더 자료를 애플측에서 공개해줄 필요하 있을것 같습니다. 네트워킹 관련해서는 VoIP 형태의 경우에는 HTTPURLRequest가 백그라운드에서 먹는것 같은데... 그보다 더 부하가 적은 패킷통신을 왜 막아 둔지 모르겠내요;; 머 좀더 두고 봐야하겠지만...

    궁금한게 있는데 업무에서 10.5를 쓰시면 xcode불편하지 않으시던가요? 저같은 경우는 10.6용 x-code에서 추가된 기능에 의존을 너무 하다보니; 이제 레오파드 못쓸것 같아요;;T.T

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2010.04.09 19:36 신고  댓글주소  수정/삭제

      어제 발표했으니 기다리면 샘플소스나 문서들이 추가될 것 같습니다. 10.6에서 Xcode의 편리함을 모르니 아직은 잘 쓰고 있습니다. 아마 다음주쯤 10.6을 사용하게 될 것 같은데 그때 가서는 제가 여지껏 왜 업그레이드를 안했는지 땅을 치고 후회할지도 모르겠습니다. ^^;

  2. 김정진 2010.04.19 17:21  댓글주소  수정/삭제  댓글쓰기

    iPhoneAppProgrammingGuide, p55에 Begin a Resonsible 에 "When your application moves to the background, and before it is suspended, it should unregister from Bonjour and close listening sockets associated with any network services." 이란 내용이 있는데... 이미 연결되어 있는 소켓에 대한건 된다는 소리 같기도 한데... 본문중에...

    "네트워크을 사용하지 말아야하며 "

    란 구문은 어디에 나와 있는 내용인가요??? 저 구문이 기존의 연결된 네트웍도 안된단 소리인지??? 아 넘 모호한게 많네요...

    • Favicon of https://www.cocoadev.co.kr BlogIcon cocoadev 2010.04.21 13:00 신고  댓글주소  수정/삭제

      리스닝 소켓은 포트가 충돌할 수 있으니 닫아야 할 것 같고 제가 저 글을 보고 그렇게 쓴건지 모르겠습니다. ^^;

      나중에 찬찬히 다시 문서를 보고 4.0을 설치하게 되면 확인해 보고 수정하겠습니다. 네트워크 전체를 사용하지 못할 것 같지는 않다는 생각은 듭니다.

  3. 강한승 2010.04.29 11:50  댓글주소  수정/삭제  댓글쓰기

    한창 와우할 때, 패치되면 뭐가 바뀌었을까 두근두근하는 마음으로 패치문구를 읽었더랬죠.
    아이폰도 그와 비슷한 두근거림을 안겨주는군요!!!

  4. ㅎㅎ 2010.05.20 01:53  댓글주소  수정/삭제  댓글쓰기

    ㅎㅎ 그러면 이제 해킹은 필요없는건가요?
    제가 해킹한 이유가 멀티테스킹과 폴더 때문인데 하하