한달전쯤 사무실로 아이폰 & 아이팟 프로그래밍의 저자이신 유동근님이 찾아 오셔습니다. 별로 도움 드린 것도 없는데 감사하게도 책을 주시고 가셨습니다.

아이폰 아이팟 프로그래밍
카테고리 컴퓨터/IT
지은이 유동근 (한빛미디어, 2009년)
상세보기

이전에 강덕진님으로 부터 받은 터칭 아이폰 SDK 3.0과 함께 요즘 아이폰 개발시에 잘 활용하고 있습니다. 두 책다 저자분들로 부터 받은 책들이라 뭐라 평가하기가 그렇지만 이 책은 교과서적인 느낌이 터칭 아이폰 SDK 3.0은 활용서적인 느낌이 드는 것 같습니다.

요즘 서점들을 가보면 컴퓨터 서적 베스트 코너에는 아이폰 개발 관련 서적들이 자리잡고 있습니다. Objective-C도 TIOBE Index에서도 이전에 확인해 보았을 때는 19위였는데 어느새 13위까지 올라가 있었습니다. 상승세로 봐서는 10위권 안으로 들어갈 날도 멀지 않아 보입니다.


애플의 앱스토어가 짧은 시간에 많은 Objective-C 사용자들을 만들어 낸 것 같습니다. 애플은 8비트 컴퓨터 이후로는 개발자들로부터 이렇게 많은 관심을 받아보는 것은 처음일 것 같습니다. 안드로이드나 다른 스토어들도 앱스토어처럼 활성화되어 개발자들에게 많은 기회가 주어졌으면 좋겠습니다.
AND

오랫만에 블로그에 글을 올립니다. 그동안 심한 감기로 숨만 쉬고 살다가 이제서야 정신이 조금 돌아 왔습니다. 아플때는 꼭 관리 좀 해야겠다고 생각하다고 나아지면 또 똑같은 생활을 하게되네요.

몇일전엔 애플 아이폰 개발자 사이트에 들어 가보니 포럼도 보이지가 않고 뭔가가 조금 이상했습니다. 옆을 보니 제 계정 기간이 지났다고 연장신청을 하라는 메시지가 보였습니다. 시간이 어떻게 가는 건지 별로 하는 일없이 어느새 1년이 지나갔네요.


비용은 환율에 상관없이 작년과 동일한 것 같습니다. 처음 등록할때는 시스템이 불안해서인지 몇번 애플의 고객센터와 이메일 교환후에 등록되었는데, 이젠 아무 문제없이 잘되더군요.

그동안 개인적으론 2개의 어플을 시험삼아 올려 보았고 아는분과 함께 사전들을 올려 보았습니다. 가장 최근에는 간단한 영단어 게임을 만들어서 올렸고 일주일이 넘었으니 몇일있으면 등록이 될 것 같습니다.


그동안 너무 안일하게 있었는데 개발자 프로그램 연장도 했고 컨디션도 좋아졌으니 다시 열심히 일도하고 블로깅도 할려고 합니다. 올려놓고 방생해놓은 어플들도 업그레이드를 해야할 것 같고요. 개발자로 있으면서 윈95, 인터넷등 몇번의 커다란 환경변화를 겪었지만 앱스토어가 체감적으로 가장 큰 영향을 주고 있는 것 같습니다.

'이야기들 > 소소한 이야기' 카테고리의 다른 글

2012년...  (0) 2012.01.02
아이맥 구입  (8) 2010.04.25
급격한 Objective-C 사용자 증가  (4) 2009.08.20
WWDC 2009  (4) 2009.06.11
스크래치 강좌 끝~  (8) 2008.07.28
AND

아이폰 3.0 SDK 부터는 accelerometer를 사용하지 않고도 UIResponder에 추가된 motion 이벤트 처리 메소드를 구현함으로써 간단하게 사용자의 흔들기 동작을 체크할 수 있습니다. 저도 처음 사용해 보면서 간단한 내용들을 정리해 보았습니다.

1. First responder 되기
사용자의 흔들기 이벤트를 처리할 ViewController는 그 자신이 First responder가 되어야 합니다. becomFirstResponder 메소드를 호출하고 canBecomeFirstResponder 메소드에서 YES를 반환합니다.

  1. - (void)viewDidAppear:(BOOL)animated {
  2.     [super viewDidAppear:animated];
  3.     [self becomeFirstResponder];
  4. }
  5.  
  6. - (BOOL)canBecomeFirstResponder {
  7.     return YES;
  8. }

viewDidAppear는 코드에서 서브뷰로 추가될 때만 호출됩니다. IB에서 바로 Window에 View를 추가하였으면 awakeFromNib등의 메소드에서 becomFirstResponder를 호출하셔야 합니다.

2. motion 메소드 구현
이후로는 간단합니다. 사용자의 흔들기가 시작되면 해당 motionBegan이 호출되고 종료될 때 motionEnded가 호출됩니다. 지나치게 많이 흔들거나 하여 유효하지 않은 흔들기로 판단될 때는 motionCancelled가 호출됩니다.

  1. - (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
  2.     NSLog(@"Shaking start");
  3. }
  4.  
  5. - (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
  6.     NSLog(@"Shaking end");
  7. }
  8.  
  9. - (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event {
  10.     NSLog(@"Shaking cancel");  
  11. }
  12.  

motionEnded 메소드에 사용자의 흔들기가 끝난 후 실행할 코드를 추가하면, 간단하게 흔들기를 지원할 수 있습니다.

AND