너는 누구냐.

아.. 두부냄새.

Archive for the ‘아이폰’ Category

SQLite3

without comments

SQLite. 참 오랜만에 다시 보게 됐다. 내가 윈도우 쓰던 시절 갖고 놀았던 애. 당시 C++ wrapper를 만드느라 한참 삽질하다가 어떤 애가 만들어놓은거 보고 감탄. 그걸 좀 갖고 놀다가 다시 데이터 베이스 암호화 시키는 작업을 하기 위해 또 한참 삽질. 결국엔 인터넷을 뒤져가며 알아낸 방법으로 암호화/복호화 시키는 함수를 완성. sqlite를 소스코드에서 부터 다시 만들어 썼던 기억이 난다.

그런데 아쉽게도 그 코드가 지금 어디있는지 모르겠다. 그냥 한것만 기억이 나는데.. 아까워 죽겠다. 이럴줄 알았으면 어디다 잘 놔두는건데. -_-;; 아는 사람은 알겠지만 public domain. 그냥 무료 소프트웨어도 아니고 public domain software인 sqlite를 만든 애들은 이 암호화/복호화 시켜주는 함수를 붙여놓은 sqlite버전을 판매하고 있기때문이다. (물론 옛날이야기이긴 한데.. 아직까지 팔고 있는지는 모르겠다.)

아무튼, 이 sqlite를.. core data를 사용하면서도 쳐다볼 필요가 없었던것을 왜 다시 보느냐하면… 아이폰 SDK에는 core data가 (아직은) 없기때문이다! 그래도 예제 소스를 읽어보니 예전에 삽질꽤나 했었다고 쉽게쉽게 넘어가는것 같다. 아이폰 응용프로그램 개발하는것도.. 기술적으로는 거의 다 (마스터는 아직 아니지만..)’깨우쳤다’고 봐도 좋을것 같다.

Written by dglee2

September 2, 2008 at 11:11 pm

Posted in 아이폰

Tagged with ,

DashCode

without comments

Xcode3.1에서 아이폰 프로젝트 메뉴가 생긴것과 마찬가지로 대쉬코드에도 역시 아이폰 프로젝트 생성 매뉴가 생겼다. 며칠전 포스트에서 다뤘던 아이폰 개발 시작하기 동영상을 보았다면 다들 알겠지만, 아이폰 개발을 하는 방법은 크게 두가지다. 첫번째는 코코아 (터치) 응용프로그램을 만드는 것이고 두번재는 ‘아이폰 전용’ 웹페이지를 만드는 것. 이미 타이거에서 부터 선보인 대쉬보드 위젯을 만드는것과 거의 동일한 방법으로 아이폰 전용 웹 응용프로그램을 제작하는 것인데, 겉으로 보이는 UI에는 둘의 차이가 없으나 다만 후자는 사파리 안에서 실행된다는것만 다르다.

Xcode가 아닌 대쉬보드에서 html과 자바 스크립트로 제작되는 응용프로그램이라해서 간단히 봤다간 큰코다치기 딱 좋을것이다. 대쉬보드에서 제공하는 텝플릿으로 생성되는 유틸리티 응용프로그램은 코코아로 제작하는 응용프로그램에 비해 손색이 없을 정도의 기능을 담고 있으니 말이다. 자바 스크립트를 보는 즉시 다들 알아채겠지만, 자바 스크립트로 sqlite 데이터 베이스를 엑세스하고 있는것을 볼수 있다. 코코아 응용프로그램 역시 아이폰 플랫폼에서는 sqlite를 사용하도록 권장을 하고 있는만큼 대쉬코드를 사용한다고 해서 기능상 제한이 있는 ‘장난감’응용프로그램만 만들어야 하는것이 아니라는 것이다. OS X플랫폼에서 보는 위젯과 일반 코코아 응용프로그램과의 차이가 아이폰 플랫폼에서는 없어지는것이라 보는것이 맞을지도 모르겠다. 대쉬보드에서 제작하는 웹 응용프로그램은 landscape, portrait view에도 대응할수 있으므로 사파리 안에서 운용된다는것 외에는 사용자가 느끼는 기능상의 차이는 정말 없을듯 하다.

개인적으로는 자바 스크립트를 사용한지가 한참 오래된데다가 그동안 대쉬보드 위젯을 만드는것에도 관심이 없었기에 대쉬코드를 사용해서 아이폰 응용프로그램을 만들일은 없을것 같지만, 한국에 무수히 많은 웹프로그래머들에게는 이보다 좋은 아이폰 개발툴이 있을까 싶다. 한번도 데스크탑 응용프로그램을 만들어본적이 없는 웹프로그래머에게는 Objective-C와 코코아를 배우지 않아도 된다는 해방감과 함께 단계별로 해야할 일을 체크해주기도 하고 거기다 배포까지 편리하게 도와주는 대쉬코드를 만나는 즐거움이 틀림없이 쏠솔할것이다.

Written by dglee2

August 27, 2008 at 3:19 am

Posted in 아이폰

Tagged with , ,

Default.png

without comments

K/R이 쓴 C 책에서 부터였다고 알고있다. 아무튼, 요즘은 뭐든지 처음 배울때 만들게 되는 Hello World. 역시 Hello World iPhone 예제도 있다. View Based 프로젝트에서 시작한듯한 아주 간단한 iPhone 응용프로그램인데 Default.png의 존재가 참 재밌다.

iPhone Application Tutorial을 보면 응용프로그램이 로딩될때.. 그러니까 화면이 확대되는 동안 보여지는 것은 윈도우라고 하는데.. 사실은 그게 아닌것 같다. Hello World와 2-3가지 프로젝트에서 실험해본 결과 처음 응용프로그램이 로딩될때 보여지는것은 Default.png 이미지 파일이다. 따라서 Hello World의 메인 윈도우에 있는 UIImageView를 지워버려도 달라지는것은 하나도 없다는것이다. 정작 iPhone이나 iPod에서 보면 다를수도 있겠지만 최소한 iPhone Simulator에서는 그렇다.

끝으로 Hello World 응용프로그램을 구경하고 나서 한가지 알아둬야할것은 뭐니뭐니해도 윈도우를 생성한 후에 subview를 지정해주는 방법으로 응용프로그램을 꾸린다는것이다. OS X에서 만드는 코코아 응용프로그램에서는 splitview가 아닌다음에야 이런 방법을 잘 사용하지 않기때문에 처음엔 왜 이런 복잡한 방법을 사용할까 의문을 가질수도 있겠지만 (난 그랬다..-_-) 플랫폼이 iPhone이라는 사실을 생각한다면 아마 누구나 곧 이해가 갈것이다.

Written by dglee2

August 23, 2008 at 5:13 pm

Posted in 아이폰

Tagged with ,

ADC 문서를 가까이 두자.

without comments

iPhone SDK를 설치하면 약 33개의 예제코드도 같이 설치된다. 기존 OS X 예제코드가 있는 곳에 iPhone이라는 폴더가 생성되기는 하지만 iPhone 예제코드는 iPhone SDK 문서와 함께 있다는 내용의 txt파일 하나만 달랑 있을뿐이다. 항상 ‘읽는것’을 강조하는 나역시도 txt 파일의 내용을 읽지도 않고 닫아버리는 바람에 33개 예제를 일일이 다 다운받았는데, 다른사람은 그러는 일이 없기를 바란다. 그리 오래걸리는 작업은 아니지만, 아무래도 좀 창피한 짓이긴 하기 때문.

Xcode에서 Documentation 메뉴를 이용해 ADC 문서를 읽을수도 있지만 난 주로 Safari를 통해 여러가지 programming guide를 읽는다. String 검색을 했을때에 Safari가 눈에 잘 띄게 검색해주는 것은 물론 Xcode Documentation Viewer의 왼쪽 사이드 바를 없앤다는것 하나만으로도 문서를 읽을수 있는 화면의 크기를 늘릴수가 있어서 글읽기가 한결 편하기 때문이다. 해서 Xcode Documentation Viewer는 주로 코딩을 하면서 특정 Class나 Framework API를 검색할때에만 사용한다.

Safari를 이용해 여러가지 Programming Guide를 읽고자 한다면 그것들이 어디에 설치되어 있는지를 알아야 한다. 그렇지만 공교롭게도 애플은 당연히 Xcode에서 모든 문서를 읽을것이라 생각했었는지 ADC문서를 꽁꽁.. 은 아니고 살짝 감춰놓았다. ADC문서를 Docset이라는 번들에다 가둬놓았는데 그래서인지 정작 필요한 html페이지는 파일시스템 깊숙한곳에 위치하고 있다.

따라서, 나와 비슷한 성향의 사람이라면.. Core Library Reference와 Phone Reference Library의 인덱스 페이지, 그리고 OS X와 iPhone 예제코드 위치를 가리키는 Alias를 만들어 하나의 폴더에 담은 후 언제든지 볼수 있도록 Finder sidebar에다 얹어놓고 사용하고 싶을것이다. Alias link를 걸어야 하는 위치는 아래와 같다. (오타의 위험이 있는 터미널을 이용하는것보다 Finder를 이용하면 아주 쉽고 정확하게 Alias를 생성할수 있다.)

Core Library Reference 인덱스 페이지:
/Developer/Documentation/Docsets/
com.apple.ADC_Reference_Library.CoreReference.docset/Contents/Resources/
Documents/index.html

iPhone Reference 인덱스 페이지:
/Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/
com.apple.adc.documentation.AppleiPhone2_0.iPhoneLibrary.docset/Contents/
Resources/Documents/index.html

OS X 예제코드:
/Developer/Examples

iPhone 예제코드:
/Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/
com.apple.adc.documentation.AppleiPhone2_0.iPhoneLibrary.docset/Contents/
Resources/Documents/samplecode

Written by dglee2

August 23, 2008 at 2:35 am

아이폰 개발 시작 가이드.

without comments

아이폰을 개발하려고 ADC문서를 보다보면 코코아를 시작할때처럼 Getting Started와 같은 문서가 없다는것을 알수 있다. iPhone OS Overview 문서가 있긴 하지만 기본 ADC reference다운로드에 포함되지도 않는다. 그런대로 iPhone OS Overview를 다운받아 읽으면 아이폰 개발을 시작하는데에 많은 도움이 되는것은 사실이지만, 동영상 자료가 있다면 모조리 읽을 필요가 있을까. -_-;;

아이튠즈로 동영상을 다운받으면서 올린 지난 포스트에서 말했다 시피, OS X개발과는 달리 iPhone개발 페이지에서는 다수의 동영상 가이드를 배포하고있다. 이건 만들라는것이다. 따로 돈을 받고 training을 하거나 일반 텍스트 문서로만 배포해도 큰 문제가 없을것을 이렇게 동영상 가이드를 제작하여 그것도 무료로 배포하는것은 만들라는것이다.

물론 모든 ADC 문서를 포함한 동영상 가이드 모두 영문이다. 코코아 개발을 하면서 영어를 모르고 뭐가 되던가.. 심지어 OS X를 제대로 써 보려면 영어를 알지못하고 무언가 할수 있던가.. 몇몇 사람들에게는 큰 장벽일수도 있겠지만 일단 영어를 불편없이 읽고 이해하는것이 iPhone은 물론 코코아 개발의 기초단계라 봐도 좋을것 같다.

아무튼, 아직 동영상 가이드를 다 보지는 못했지만 본것을 위주로 대충 어떠한 내용인지 요약한다.

  • Introduction to the iPhone SDK: iPhone OS의 기본적인 설계(architecture)와 SDK에 대한 전반적인 설명을 포함하고 있는만큼 이름 그대로 가장 먼저 봐야할것은 이것이다.
  • iPhone Development Tools Overview: Xcode와 Instruments를 설명한다. iPhone Simulator와 iPhone개발시 빌드되는 응용프로그램을 simulator나 기기에서 어떻게 테스트 해볼수 있는지 알려주지만 너무 쉽게 만들어 놓은탓에 별 설명할것이 없다. 주된 내용은 Xcode와 Instruments를 소개하는것, 코코아 개발자라면 대부분의 내용은 review가 될것이다.
  • iPhone Application Development – Getting Started: Cocoa Getting Started와 비슷한 형태의 동영상 가이드다. OS X에서의 Cocoa(AppKit+Foundation)에 대응하는 Cocoa touch framework(UIKit+Foundation)의 기본개요를 다뤘다. MVC와 Objective-C 를 간단히 소개하는것도 잊지 않았다.
  • iPhone Application Frameworks – in Depth: Overview에 그치지 않고 이제는 구체적인 코드를 살펴본다. 코코아/Objective-C에 익숙하지 않다면 ‘공부하고 와서’봐야할 가이드일듯 하다. 코코아에 익숙한 개발자라면 이 가이드에 있는 내용만을 보고도 웬만한 iPhone 응용프로그램을 제작할수 있을정도로 구체적인 내용을 다루고 있다.
  • Leveraging iPhone Location, Acceleration, Orientation, and System Information: UIDevice, UIAccelerometer, UIAcceleration 에 관한내용. 역시 코코아/Objective-C에 익숙한 사람들에게 유용한 가이드다.
  • Fundamentals of Cocoa Session from WWDC: Objective-C와 코코아를 이제 막 알고자 하는 사람에게 유용한 가이드다. WWDC자료. 원래는 돈내고 보는것을 무료로 공개해놓았다. 조금 지난 자료이긴 하지만 WWDC에 왜 사람들이 모이는지, 그리고 WWDC 강의자료를 보려면 왜 따로 돈을 내고 봐야하는지 알수 있을만큼 이해하기 쉽게 코코아를 설명한다.

나머지 Getting Started Video는 아직 보지 않았지만 제목만으로도 어떤 내용일지 대충은 짐작할수 있을것이다. iTunes를 이용해 다운받을수 있는 동영상 가이드는 Getting Started Video외에도 iPhone Tech Talks자료도 있으니 참고하는것이 좋겠다. Tech Talks자료중 iPhone Development Introduction과 Safari on iPhone Part I, Part II, Part III 동영상 가이드는 iPhone 개발을 하고자 하는 웹개발자에게는 필수적이라 할만큼 유용한 내용을 담고 있다.

Written by dglee2

August 22, 2008 at 2:45 pm

Posted in 아이폰

Tagged with , ,