Top

아이폰&아이패드 인 액션 [iOS SDK를 이용한 애플리케이션 개발]

  • 원서명iPhone and iPad in Action (ISBN 9781935182580)
  • 지은이브랜든 트레비토우스키, 크리스토퍼 앨런, 섀넌 아펠클라인
  • 옮긴이홍영표
  • ISBN : 9788960771956
  • 35,000원
  • 2011년 04월 29일 펴냄 (절판)
  • 페이퍼백 | 572쪽 | 188*255mm
  • 시리즈 : 모바일 프로그래밍

판매처

  • 현재 이 도서는 구매할 수 없습니다.

책 소개

이 책은 아이폰과 아이패드 개발의 핵심 영역을 모두 다룬다. 아이폰과 아이패드의 짤막한 소개를 시작으로 오브젝티브C, 엑스코드, 인터페이스 빌더로 기초를 다진 후 각종 뷰 컨트롤러, 이벤트와 액션, 다양한 데이터 처리 방법(파일, 프리퍼런스, SQLite, 코어 데이터 등), 위치확인(가속도계, GPS 등), 미디어(이미지, 카메라, 오디오 등), 그래픽(쿼츠, 코어 애니메이션, OpenGL 등), 웹(웹 뷰와 프로토콜), 네트워크와 게임, 푸시 노티피케이션, 지도, 인앱퍼처스(앱 내 구매), iOS 4.x의 개선사항 등을 다룬다. 부록에서는 앱 스토어 배포, 아이폰 앱을 아이패드 앱으로 변환하는 방법 등을 살펴본다.


[ 소개 ]

이 책의 튜토리얼은 iOS SDK를 이용한 아이폰과 아이패드 개발을 마스터하는 데 도움이 될 것이다. 엑스코드와 인터페이스 빌더 같은 개발 툴 설정부터 애플리케이션 코딩, 그리고 앱 스토어에서의 판매까지 모든 방법을 다룬다.

다양한 예제가 포함돼 있으며 가속도계, GPS, 주소록 등 갖가지 핵심기능을 다룬다. 아이폰 개발 기술을 활용해 매력적인 아이패드 앱을 개발하는 방법도 배운다.

미래 디바이스에 대해 알아야 하는 모든 것!
- 벤트 햄복(Berndt Hamboeck) / pmOne

애플은 이 책을 아이폰과 아이패드의 공식 개발 교재로 지정해야 한다.
- 제이슨 정(Jason Jung) / Rockwell

개발 속도를 높이고 싶은가? 당장 개발하고 싶은가? 이 책을 보라.
- 클린트 트레드웨이(Clint Tredway) / Developed It

이 책을 읽지 않고 엑스코드를 실행하지 말라.
- 테드 뉴어크(Ted Neward) / Neward & Associates

아이폰 개발을 위해 내게 필요한 바로 그 내용이다.
- 크리스토퍼 하우트(Christopher Haupt)


[ 이 책에서 다루는 내용 ]

■ iOS SDK 전반
■ 스토어킷을 이용한 앱내 구매
■ 오디오와 녹음
■ 코어 데이터, 코어 로케이션, 게임킷, 맵킷

아이폰과 아이패드 개발을 처음 접해도 상관없다. C, 코코아, 오브젝티브C에 익숙하면 좋겠지만 잘 몰라도 읽을 수 있도록 쉽게 설명한 책이다.


[ 이 책의 대상 독자 ]

이 책은 아이폰과 아이패드 프로그램 작성에 관심 있는 모든 사람이 접할 수 있게 최선을 다했다. 특히, 본격적으로 아이폰과 아이패드의 개발에 뛰어들 독자에게 유용하다. 이 책을 통해 모든 애플의 i시리즈 모바일 기기(아이폰, 아이패드, 아이팟)에 쓰일 애플리케이션 개발이 가능하기 때문이다.

iOS SDK 프로그래밍을 배울 때 일반적인 프로그램 경험이 있으면 도움이 된다. C언어로 개발한 경험이 있으면 가장 좋겠지만 필수사항은 아니다. 경험이 없다면 2장의 오브젝티브C의 소개 부분을 반드시 읽어보고 명확한 개념파악을 위해 좀 더 연구해보기 바란다. 오브젝티브C, 코코아, 일반적인 애플 프로그래밍에 능숙하지 않아도 된다. 이 책에서 애플의 고유한 스타일에 익숙해질 수 있게 필요한 내용은 모두 제공하기 때문이다. 객체지향 개념을 이해한다면 큰 도움이 되겠지만 이것도 필수사항은 아니다(다시 말하지만, 2장에 소개돼 있다).


[ 이 책의 구성 ]

1장은 아이폰과 아이패드를 자세히 설명한 후 아이폰 이전의 모바일폰과의 차이점도 알아본다. 프로그래머에게도 중요한 아이폰과 아이패드의 고유한 기능의 주요 개념을 살펴본다.

2장은 iOS SDK에서 사용하는 프로그램 언어인 오브젝트C를 시작한다. iOS는 프레임워크의 거대한 집합으로 수많은 복잡한 작업을 쉽게 처리할 수 있게 해준다.

3장은 SDK의 첫 번째 주요 도구인 엑스코드를 살펴본다. 엑스코드는 통합개발환경으로 컴파일 외에도 여러 가지 기능이 있다. 입력한 글자의 오류를 수정하고, 빠른 검색기능도 있으며 모든 아이폰 프로그래밍 문서의 통합 액세스도 가능하다.

4장은 인터페이스 빌더를 살펴본다. 인터페이스 빌더는 그래픽 디자인 환경으로 코드 한 줄 없이도 인터페이스 객체를 배치하고 생성할 수 있다. 프로그래머의 개발 시간을 혁신적으로 단축해 주며, 이 책의 전반에 걸쳐 사용된다.

5장은 간단한 뷰 컨트롤러를 다룬다. 기본 뷰 컨트롤러는 MVC 개념의 중요한 구성요소로 뷰에서 제어기능을 분리시킨다. 그리고 테이블 뷰 컨트롤러는 표준 iOS 모양과 느낌을 일치시키면서 정보를 조직화하고 쉽게 구성할 수 있는 방법을 제공한다.

6장은 사용자 상호작용을 다룬다. 사용자가 손가락으로 화면을 터치할 때 발생하는 이벤트와 사용자가 버튼이나 슬라이더 같은 컨트롤 객체와 상호작용할 때 발생하는 액션을 살펴본다.

7장은 두 가지 고급 뷰 컨트롤러를 살펴본다. 탭바 뷰 컨트롤러는 여러 컨텐츠 페이지를 모달 형태로 선택할 수 있게 하며, 내비게이션뷰 컨트롤러는 테이블에 계층구조를 추가한다.

8장은 데이터 관련 내용으로 SDK 툴킷을 시작한다. 사용자 입력(액션이나 프리퍼런스), 데이터 저장(파일), 저장과 입력을 결합하는 도구(디바이스의 주소록)를 살펴본다.

9장은 고급 데이터 정책에 관한 내용을 다룬다. 9장에서는 코어 데이터를 사용하는 방법과 SQLite 데이터베이스에 복잡한 데이터 보관 방법을 살펴본다.

10장은 아이폰과 아이패드의 가장 고유한 두 가지 특징인 가속도계와 GPS에 초점을 맞춘다. 공간에서 움직임을 추적하는 방법을 살펴본다.

11장은 또 하나의 강점인 미디어를 다룬다. 사진, 영화, 사운드로 작업하는 기본적인 방법을 살펴본다.

12장은 오디오 작업을 다룬다. 디바이스의 마이크와 스피커를 이용해 오디오를 기록하고 재생하는 방법을 살펴본다.

13장은 아이폰과 아이패드의 벡터 그래픽 언어인 쿼츠 2D를 중심으로 그래픽을 폭넓게 알아본다. 또한 코어 애니메이션을 간략히 살펴보고 iOS용 OpenGL도 살펴본다.

14장은 아이폰과 아이패드를 사용해 인터넷으로 상호작용하는 방법을 다룬다. 인터넷 프로토콜의 전체 계층구조를 알아보고, 로우레벨 호스트 연결에서부터 웹뷰를 거쳐 XML과 JSON 같은 소셜 언어도 살펴본다.

15장은 아이폰과 아이패드에서 멀티플레이어 탁구 게임에 대한 전체 개발 프로세스를 다룬다. 게임 킷 프레임워크를 이용한 P2P 연결에 대한 모든 내용을 살펴본다.

16장은 애플리케이션에서 푸시 노티피케이션을 처리하는 방법을 다룬다. PHP를 이용한 자체 푸시 노티피케이션 서버를 제작하는 간단한 예제를 제공한다.

17장은 맵킷 프레임워크를 심층적으로 다룬다. 구글 맵을 애플리케이션에 완벽히 통합하는 데 필요한 모든 사항을 살펴본다.

18장은 애플리케이션에 가상 스토어를 만드는 주요 방법 중 하나를 알아본다. 스토어킷 프레임워크를 이용해 상품 제작부터 구매 처리까지 처리 단계의 모든 내용을 살펴본다.

19장은 iOS SDK에 추가된 몇 가지 신규 라이브러리를 알아본다. 또한 iOS SDK 4.x의 로드맵을 알아보고 앞으로 전망을 살펴본다.

부록에는 본문 내용 이외의 부가적인 정보가 들어 있다. 부록 A에는 SDK 객체 목록과 설명, 부록 B에는 iOS SDK를 이용해 프로그램을 개발할 때 도움될 만한 다양한 웹 사이트 정보가 있다. 부록 C에는 SDK 프로그램을 실제 디바이스에 배포하는 방법이 있으며, 부록 D에서는 아이폰 애플리케이션을 아이패드 애플리케이션으로 변환하는 데 사용할 수 있는 다양한 기술을 다룬다.


[ 추천의 글 ]

2009년 말 애플 아이폰이 도입되어 국내 스마트폰 시대가 열리게 되면서 월드와이드웹이 10년 동안 이루어 놓은 사회변화가 무색할 정도로, 스마트폰은 갓 일 년의 짧은 시간 안에 국내 통신사, 제조사 등 IT분야뿐 아니라 일반인의 생활 패턴에 이르기까지 우리 사회전반의 변화를 주도하고 있다.

「가트너 리서치」는 2013년까지 신용카드 보유자의 30%가 스마트폰을 보유할 것이며, 「인포네틱 리서치」는 스마트폰 판매량이 2012년 일반 휴대폰을 추월하고, 2012년에는 스마트폰 매출액이 전체 휴대 전화 매출액의 50% 이상이 될 것으로 예측한다. 실제 국내 통신 업계에 따르면 2010년 말 국내 스마트폰 가입자는 약 570만 명이었으며, 2011년 3월 23일 드디어 천만 명을 넘어섰다.

스마트폰 사용자의 폭발적 증가에 따라 앱 프로그래머의 아이디어가 직접 수익을 창출하는 시대를 만들었다. 실제 애플은 앱스토어를 통해 앱 프로그래머에게 10억 달러의 매출을 공유했고, 「가트너 리서치」는 2013년 말까지 애플 앱스토어, 안드로이드 마켓 등을 통해 510억 회 다운로드와 730억 달러의 매출이 발생할 것으로 예측한다.

이번에 번역 출간된 『아이폰&아이패드 인 액션』은 2008년에 출간된 『아이폰 인 액션』의 업데이트 개정판으로 단순히 아이패드 내용이 추가된 것이 아니라 아이폰과 아이패드의 전반적인 내용을 모두 다루므로 아이폰과 아이패드 프로그래머에게 좋은 가이드를 제공할 것이라 기대한다. 저자들의 풍부한 개발경험에 기반한 실습위주의 본문 구성은 처음 아이폰과 아이패드 프로그래밍을 접하는 프로그래머에게 좋은 입문서가 되리가 생각된다. 국내 모바일 앱의 개발 역사도 겨우 일 년 남짓 지났을 뿐이다. 경쟁력을 갖추기엔 충분하지 않은 기간이지만 이미 국내/외 앱스토어를 통해 국내에서 개발된 앱이 많이 올라와 있는 것을 보면 국내 프로그래머들의 창의성과 실력은 이미 세계적 수준과 비교해도 손색이 없어 보인다. 이 책이 아이폰과 아이패드 프로그래머에게 좋은 길라잡이 역할을 할 것으로 기대한다.

- LG CNS 기술 서비스&컨설팅 부문 소프트웨어 아키텍처 그룹
정상인 부장


먼저 『아이폰&아이패드 인 액션』의 출간을 진심으로 축하합니다. 세상 어머니들의 출산이 그렇듯 이 책 역시 번역자의 고된 시간과 인고의 노력 끝에 탄생했습니다.

이 책은 2008년에 출간된 『아이폰 인 액션』의 개정판으로 많은 내용이 업데이트되고 보강됐습니다. 단순히 아이패드 관련 항목이 추가된 것이 아니라 아이폰과 아이패드 관련 내용이 골고루 균형 있게 업데이트됐습니다. 이 책은 아이폰 앱 개발을 목표로 하는 개발자는 물론 아이패드 개발을 시작하는 개발자에게 유용한 정보를 제공합니다. 풍부한 예제도 눈길을 끌며, 핵심적인 내용을 사족 없는 꼼꼼하고 간결한 문체로 설명합니다. 개념과 기본에 충실하면서도 실용성을 강조한 이 책은 실무자의 관점에서 구성되어 유익한 내용으로 가득 합니다. 특히, 튜토리얼 형식의 구성은 이 책을 교재 삼아도 충분해 보입니다.

급변하는 미디어 세상의 중심에 아이폰과 아이패드가 있습니다. 그 혁신의 물결에 동참해 보기 바랍니다. 이 책이 든든한 지원군이 될 것입니다.

올레! ‘아이폰&아이패드 인 액션’

- KT 컨설팅지원부 컨설팅센터
오승환 차장

저자/역자 소개

[ 저자 서문 ]

이 책의 전판 『아이폰 인 액션』의 개정판 작성 시점이 다가왔을 때 섀넌과 크리스토퍼는 진행 중이던 프로젝트에 매여 있었다. 이때 매닝은 다른 저자를 찾아 책 내용을 보강하기로 결정했고, 우연히 트위터에서 나를 찾아냈다.

나는 고등학교 1학년 때부터 프로그래밍을 시작했다. 이 당시에는 웹 애플리케이션과 단순한 자바 게임을 개발하는 데 많은 시간을 보냈다. 고등학교 졸업 후 뉴멕시코 대학교(University of New Mexico)에 진학해 컴퓨터 과학 학사 학위를 받았다.

애플이 처음 아이폰을 발표했을 때 디바이스에 감동을 받고 열광했다. 애플이 아이폰 3G가 출시되자 아이폰용 소프트웨어 개발에 흥미를 느끼고 있다는 사실을 깨닫고 본격적으로 프로그램을 배우기 시작했다. 그리고 아이폰을 갖기도 전에 지금은 잘 알려진 iCodeBlog.com이라는 개발 블로그를 시작했다. 대학에서 Javadoc을 참조하는 데 익숙했고 애플 API 문서에서 많은 정보를 배웠기 때문이다.

내가 이 책을 작업하기 시작했을 때 초판에서 많은 단원을 수정해야 한다는 사실을 깨달았다. 비록 웹 애플리케이션이 아이폰 앱 시작의 결정적인 부분을 차지하고는 있지만 더 이상 기본 앱으로 경쟁할 수는 없다. 그래서 초판에 있던 웹 단원을 삭제하고, iOS SDK 기능을 바탕으로 새로운 장을 추가했다.

책을 완료할 시점에 애플은 또 하나의 대형 발표를 했다. 바로 아이패드의 출시다. 따라서 책 집필에 별도로 몇 달의 시간을 더 들일지, 아니면 인기 코너에서 잠시 머물다 사라질(공룡시대처럼) 책을 발표할지 출판사와 함께 결정해야 했다. 우리는 결국 전자를 택했고, 그 결과는 나쁘지 않아 보인다.

- 브랜든 트레비토우스키(BRANDON TREBITOWSKI)


[ 저자 소개 ]

브랜든 트레비토우스키 (Brandon Trebitowski)
ELC Technologies의 전문 모바일 개발자이며 iCodeBlog.com의 설립자다.

크리스토퍼 앨런 (Christopher Allen)
iphonewebdev.com의 운영자이고 iPhoneDevCamp의 창시자다.

섀넌 아펠클라인 (Shannon Appelcline)
작가, 기술 전문가, 게임 개발자다.

크리스토퍼와 섀넌은 이 책의 전판 『아이폰 인 액션』을 저술했다.


[ 옮긴이의 말 ]

Think Different! 여섯 가지 색상으로 구성된 애플의 사과 그림 아래에 있던 이 슬로건이 결국 세상을 변화시켰다. 2007년 애플은 인터넷과 아이팟과 전화기를 하나의 디바이스로 결합시킨 아이폰을 시장에 내 놓았다. 사람들은 열광했고, 그 영향력은 대단했다. 일부 마니아의 전유물로만 여겼던 애플 제품은 어느덧 일반 대중의 삶 속에 세상 어느 제품보다도 빠르게 자리잡았다. 아이폰을 접한 대중은 모두 갇혀 있던 매트릭스에서 빠져나온 네오가 되어 새로운 세계를 경험하고 있다.

2010년 애플은 또 하나의 혁신을 발표한다. 바로 아이패드다. 아이패드로 인해 태블릿PC와 넷북 시장을 완전히 바꿔놨으며, 애플은 ‘맥, 아이패드, 아이폰’의 삼각편대를 완성하게 된다. 아이폰을 경험한 사용자는 아이패드를 거부할 수 없었으며 이제는 놀라움을 넘어 애플 제품에 열광하고 있다.

더 이상 사용자 경험 같은 개념을 어렵게 설명할 필요가 없다. 아이폰과 아이패드를 사용하고 느껴보면 된다. 또한 우아하고 매력적인 개발을 하고 싶다면 iOS SDK를 경험해보라고 말하고 싶다. 이때 오브젝티브C의 우아함은 덤으로 배우게 된다.

iOS는 놀라운 속도로 진화한다. 지금 이 순간에도 애플은 새로운 버전을 개발 중이다. 다른 분야도 마찬가지겠지만 이렇게 변화의 속도가 빠를수록 SDK의 기본 개념과 원리의 이해가 더욱 절실하다. 그것도 신속하고 명확하게 말이다. 바로 이런 점이 이 책이 가진 장점이자 아이폰과 아이패드의 개발자에게 도움을 주는 방법이다.

이 책은 총 19장에 걸쳐 아이폰과 아이패드의 거의 모든 분야를 다룬다. 각 장마다 예제 위주로 간결한 설명을 통해 해당 주제를 살펴보며 앞으로 응용할 수 있게 구성했다. 참고로 이 책은 2008년에 출시된 『아이폰 인 액션』의 개정보증판이다. 이는 이미 한 차례 검증을 마쳤으며 더욱 유익하고 알차게 구성돼 있다는 사실을 의미한다.

이 책의 iOS SDK 버전은 3.2에서 4.2에 걸쳐 있다. 하지만 현재 최신 버전인 4.3에서도 수행 가능하다. 알다시피 하위 버전에서 개발하더라도 상위 버전으로 간단히 변환할 수 있다. 그리고 유념해야 하는 사실은 상위 버전에서 개발하더라도 하위 버전을 사용하는 디바이스에 대한 배려도 필요하다. 실제 앱 개발 시 아이팟 등의 지원을 고려해 iOS 버전을 3.1.x 대 버전에 맞춰서 개발하기도 한다. 다시 말하지만 중요한 사실은 버전의 차이가 아니라 바로 기본 개념과 원리다!

SDK의 최신버전을 알고 싶은가? 그럼 애플의 개발자 사이트에 있는 클래스 참조문서를 살펴보라. SDK 개발을 알고 싶은가? 그럼 이 책을 열어보라. 물론 이 책이 모든 내용을 알려주지는 못하겠지만 훌륭한 등대가 되어 더 많은 내용을 알 수 있게 도와줄 것이다.

지금부터 필요한 것은 열정과 즐거움이다. 나머지는 이 책이 벗이 되어 함께 동행해 줄 것이다. 즐길 준비가 됐는가? 그럼 『아이폰&아이패드 인 액션』과 함께 아이폰과 아이패드의 세계에 빠져보자!


[ 옮긴이 소개 ]

홍영표
전자전기공학을 전공하다 컴퓨터 프로그램에 빠져 이 길을 평생 업으로 삼게 됐다. LG CNS에서 개발자와 아키텍트로 다양한 프로젝트와 경험을 통해 IT에 눈을 뜨게 됐다. 현재는 금융회사 정보시스템부에 근무하며, 모바일 시스템 구축을 비롯해 신기술 연구개발(R&D)을 담당하고 있다. 차세대시스템 구축 시에는 애플리케이션 아키텍트로 시스템 성능과 튜닝을 담당했다. 애플의 철학과 스티브 잡스의 카리스마를 좋아하고 엔지니어를 넘어 아티스트가 되기 위해 고군분투 중이다.

목차

목차
  • 1장 아이폰과 아이패드
    • 1.1 짤막한 역사 이야기
    • 1.2 하나를 위한 모든 것, 모든 것을 위한 하나: iOS 플랫폼
    • 1.3 주요 하드웨어 사양
      • 1.3.1 아이폰
      • 1.3.2 아이패드
      • 1.3.3 아이팟 터치
      • 1.3.4 아이폰과 아이패드 입출력 사양
      • 1.3.5 아이폰과 아이패드 네트워크 사양
      • 1.3.6 iOS 브라우저 사양
      • 1.3.7 모바일 웹 표준
      • 1.3.8 기타 하드웨어 특징
    • 1.4 아이폰과 아이패드의 특징
    • 1.5 아이폰과 아이패드 터치의 상호작용 이해
    • 1.6 요약
  • 2장 오브젝티브C와 iOS SDK
    • 2.1 SDK를 위한 준비
      • 2.1.1 SDK 설치
      • 2.1.2 SDK 분석
    • 2.2 오브젝티브C 소개
      • 2.2.1 개요
      • 2.2.2 메시지
      • 2.2.3 클래스 정의
      • 2.2.4 프로퍼티
      • 2.2.5 기타 컴파일러 지시어
      • 2.2.6 카테고리와 프로토콜
      • 2.2.7 오브젝티브C 마무리
    • 2.3 iOS 소개
      • 2.3.1 iOS 분석
      • 2.3.2 iOS 계층구조
      • 2.3.3 윈도우와 뷰
    • 2.4 iOS 메소드
      • 2.4.1 객체 생성
      • 2.4.2 메모리 관리
      • 2.4.3 이벤트 처리
      • 2.4.4 생명주기 관리
    • 2.5 요약
  • 3장 엑스코드
    • 3.1 엑스코드 소개
      • 3.1.1 엑스코드 분석
      • 3.1.2 엑스코드에서 컴파일하고 실행하기
    • 3.2 엑스코드의 첫 번째 아이폰 프로젝트: Hello, World!
      • 3.2.1 main.m 이해
      • 3.2.2 애플리케이션 델리게이트 이해
      • 3.2.3 Hello, World! 작성
    • 3.3 엑스코드의 첫 번째 아이패드 프로젝트: Hello, World!
      • 3.3.1 Hello, World! 작성
    • 3.4 엑스코드에서 신규 클래스 생성
      • 3.4.1 신규 클래스 만드는 방법
      • 3.4.2 헤더 파일
      • 3.4.3 소스 파일
      • 3.4.4 연결하기
    • 3.5 기타 엑스코드 기능
      • 3.5.1 엑스코드로 프레임워크 추가
      • 3.5.2 엑스코드로 다른 템플릿 사용
      • 3.5.3 엑스코드 팁과 요령
    • 3.6 요약
  • 4장 인터페이스 빌더
    • 4.1 인터페이스 빌더 소개
      • 4.1.1 인터페이스 빌더 분석
      • 4.1.2 인터페이스 빌더에서의 시뮬레이션
    • 4.2 인터페이스 빌더의 첫 번째 프로젝트: 이미지와 웹
      • 4.2.1 신규 객체 만들기
      • 4.2.2 그래픽적으로 객체 다루기
      • 4.2.3 인스펙터 윈도우 사용
      • 4.2.4 이미지로 작업하기
    • 4.3 인터페이스 연결 생성
      • 4.3.1 IBOutlet 선언
      • 4.3.2 객체 연결
      • 4.3.3 IBOutlet로 코딩하기
    • 4.4 기타 인터페이스 빌드 기능
      • 4.4.1 다른 연결 만들기
      • 4.4.2 외부 객체 생성
      • 4.4.3 인터페이스 빌더 객체 초기화
      • 4.4.4 .xib 파일 액세스
      • 4.4.5 신규 .xib 생성
    • 4.5 요약
  • 5장 기본 뷰 컨트롤러
    • 5.1 뷰 컨트롤러 종류
    • 5.2 표준 뷰 컨트롤러
      • 5.2.1 뷰 컨트롤러 분석
      • 5.2.2 뷰 컨트롤러 만들기
      • 5.2.3 또 다른 뷰 컨트롤러 만들기
      • 5.2.4 뷰 컨트롤러 인터페이스 만들기
      • 5.2.5 뷰 컨트롤러 사용하기
    • 5.3 테이블 뷰 컨트롤러
      • 5.3.1 테이블 뷰 컨트롤러 분석
      • 5.3.2 테이블 뷰 컨트롤러 만들기
      • 5.3.3 테이블 인터페이스 만들기
      • 5.3.4 테이블 뷰 컨트롤러 사용하기
    • 5.4 요약
  • 6장 이벤트와 액션
    • 6.1 이벤트 소개
      • 6.1.1 리스폰더 체인
      • 6.1.2 터치와 이벤트
    • 6.2 터치 예제: 이벤트 리포터
      • 6.2.1 인터페이스 빌더에서 설정하기
      • 6.2.2 터치를 위한 뷰 준비
      • 6.2.3 이벤트 제어
    • 6.3 기타 이벤트 기능
      • 6.3.1 이벤트 규정
      • 6.3.2 기타 이벤트 메소드와 프로퍼티
    • 6.4 액션 소개
      • 6.4.1 UIControl 객체
      • 6.4.2 이벤트와 액션 제어
      • 6.4.3 addTarget:action:forControlEvents: 사용
    • 6.5 애플리케이션에 버튼 추가
      • 6.5.1 버튼과 함께 addTarget:action:forControlEvents: 사용하기
      • 6.5.2 IBAction 사용
    • 6.6 기타 액션 기능
      • 6.6.1 UITextField로 텍스트 입력받기
      • 6.6.2 UISlider로 값 선택하기
      • 6.6.3 TextField/Slider 매시업
      • 6.6.4 액션 쉽게 만들기
      • 6.6.5 사용중인 액션
    • 6.7 노티피케이션 소개
    • 6.8 요약
  • 7장 고급 뷰 컨트롤러
    • 7.1 탭바 뷰 컨트롤러
      • 7.1.1 탭바 뷰 컨트롤러 분석
      • 7.1.2 탭바 뷰 컨트롤러 만들기
      • 7.1.3 탭바 인터페이스 구성
      • 7.1.4 탭바 뷰 컨트롤러 사용법
    • 7.2 내비게이션 컨트롤러
      • 7.2.1 내비게이션 컨트롤러 분석
      • 7.2.2 내비게이션 컨트롤러 만들기
      • 7.2.3 내비게이션 컨트롤러 완료
      • 7.2.4 내비게이션 컨트롤러 사용하기
    • 7.3 플립사이드 컨트롤러 사용법
    • 7.4 스플릿 뷰 컨트롤러
      • 7.4.1 스플릿 뷰 컨트롤러 만들기
      • 7.4.2 스플릿 뷰 컨트롤러 구성
      • 7.4.3 스플릿 뷰 컨트롤러 사용
      • 7.4.4 가로와 세로모드에 인터페이스 맞추기
    • 7.5 팝오버와 모달 뷰 컨트롤러
      • 7.5.1 팝오버 뷰 컨트롤러 만들기
      • 7.5.2 모달 뷰 컨트롤러 만들기
    • 7.6 요약
  • 8장 데이터: 액션, 프리퍼런스, 파일
    • 8.1 사용자 액션받기
    • 8.2 사용자 프리퍼런스 다루기
      • 8.2.1 자체 프리퍼런스 생성
      • 8.2.2 시스템 설정
    • 8.3 파일 열기
      • 8.3.1 번들 액세스
      • 8.3.2 다른 디렉터리 액세스
      • 8.3.3 파일 처리
      • 8.3.4 Filesaver: UITextView 예제
    • 8.4 요약
  • 9장 데이터: 고급 기술
    • 9.1 SQLite
      • 9.1.1 SQLite 데이터베이스 설정
      • 9.1.2 SQLite 액세스
      • 9.1.3 SQLite 데이터베이스 액세스
      • 9.1.4 데이터베이스로 내비게이션 메뉴 만들기
      • 9.1.5 예제 확장
    • 9.2 주소록 액세스
      • 9.2.1 프레임워크 개요
      • 9.2.2 주소록 프로퍼티 액세스
      • 9.2.3 주소록 조회
      • 9.2.4 주소록 UI 사용
    • 9.3 코어 데이터 소개
      • 9.3.1 코어 데이터의 배경정보
      • 9.3.2 애플리케이션에 코어 데이터 설정
      • 9.3.3 코어 데이터 객체 초기화
      • 9.3.4 데이터베이스에 객체 추가
      • 9.3.5 코어 데이터에서 패치, 업데이트, 삭제
    • 9.4 요약
  • 10장 위치 확인: 가속도계, 로케이션, 나침반
    • 10.1 가속도계와 방향전환
      • 10.1.1 orientation 프로퍼티
      • 10.1.2 방향전환 노티피케이션
    • 10.2 가속도계와 움직임
      • 10.2.1 UIAccelerometer 액세스
      • 10.2.2 UIAcceleration 파싱
      • 10.2.3 중력 체크
      • 10.2.4 움직임 체크
      • 10.2.5 간단한 가속도계 움직임 인식
    • 10.3 가속도계와 제스처
    • 10.4 코어 로케이션에 대한 모든 것
      • 10.4.1 위치관련 클래스
      • 10.4.2 위치와 거리 이용 예제
      • 10.4.3 고도 이용 예제
      • 10.4.4 나침반 사용
      • 10.4.5 코어 로케이션과 인터넷
    • 10.5 요약
  • 11장 미디어: 이미지와 카메라
    • 11.1 이미지 소개
      • 11.1.1 UIImage 로드
      • 11.1.2 UIImageView 드로잉
      • 11.1.3 UIKit에서 이미지 수정
    • 11.2 코어 그랙픽스로 이미지 드로우하기
    • 11.3 사진 액세스
      • 11.3.1 이미지 피커 사용
      • 11.3.2 사진 찍기
      • 11.3.3 사진앨범에 저장하기
    • 11.4 콜라주: 이미지 예제
      • 11.4.1 콜라주 뷰 컨트롤러
      • 11.4.2 콜라주 임시 이미지 뷰
      • 11.4.3 콜라주 뷰
      • 11.4.4 상세검토
    • 11.5 요약
  • 12장 미디어: 오디오와 녹음
    • 12.1 아이팟 라이브러리에서 오디오 재생
      • 12.1.1 아이팟 라이브러리에서 오디오 아이템 조회
      • 12.1.2 MPMediaItem 정보 가져오기
      • 12.1.3 MPMusicPlayerController을 사용한 미디어 아이템 재생
      • 12.1.4 예제: 간단한 미디어 플레이어 애플리케이션 제작
    • 12.2 오디오 녹음
      • 12.2.1 오디오 레코더 초기화
      • 12.2.2 오디오 레코더 제어
      • 12.2.3 AVAudioRecorder 이벤트 처리하기
    • 12.3 수동으로 사운드 재생
      • 12.3.1 AVAudioPlayer 초기화
      • 12.3.2 AVAudioPlayerDelegate
      • 12.3.3 AVAudioPlayer 제어
    • 12.4 예제: 간단한 오디오 녹음/재생 애플리케이션 제작
      • 12.4.1 view-based application 만들기
      • 12.4.2 필요한 프레임워크 추가
      • 12.4.3 IBAction 설정
      • 12.4.4 인터페이스 만들기
      • 12.4.5 오디오 레코더 설정과 IBAction 구현
    • 12.5 녹화, 재생, 비디오 액세스
    • 12.6 요약
  • 13장 그래픽스: 쿼츠, 코어 애니메이션, Open GL
    • 13.1 쿼츠 2D 소개
    • 13.2 쿼츠 컨텍스트
      • 13.2.1 UIView에 드로잉
      • 13.2.2 비트맵에 드로잉
    • 13.3 패스 드로잉
      • 13.3.1 패스 종료
      • 13.3.2 재사용 패스 생성
      • 13.3.3 사각형 드로잉
    • 13.4 그래픽 스테이트 설정
      • 13.4.1 색상 설정
      • 13.4.2 변환
      • 13.4.3 클리핑 패스 설정
      • 13.4.4 기타 설정
      • 13.4.5 스테이트 관리
    • 13.5 쿼츠의 고급 드로잉
      • 13.5.1 그래디언트 드로잉
      • 13.5.2 이미지 드로잉
      • 13.5.3 글자 드로잉
      • 13.5.4 다루지 않은 내용
    • 13.6 예제: 사진에 드로우하기
      • 13.6.1 PhotoDraw 뷰 컨트롤러
      • 13.6.2 Photodraw 뷰
      • 13.6.3 예제 확장
    • 13.7 코어 애니메이션 소개
      • 13.7.1 코어 애니메이션의 기초
      • 13.7.2 코어 애니메이션으로 시작하기
      • 13.7.3 간단한 암시적 애니메이션 드로잉
      • 13.7.4 간단한 명시적 애니메이션 드로우하기
    • 13.8 OpenGL 소개
    • 13.9 요약
  • 14장 웹: 웹 뷰와 인터넷 프로토콜
    • 14.1 인터넷 계층구조
    • 14.2 로우레벨 네트워킹
      • 14.2.1 CFHost 클래스
    • 14.3 URL로 작업하기
      • 14.3.1 NSURL 생성
      • 14.3.2 NSURLRequest 구성
      • 14.3.3 HTML 데이터 직접 처리하기
    • 14.4 UIWebView 사용
      • 14.4.1 웹 뷰 호출
      • 14.4.2 웹 뷰 델리게이트 관리
      • 14.4.3 썸네일: 웹 뷰 예제
    • 14.5 XML 파싱
      • 14.5.1 NSXMLParser 시작
      • 14.5.2 델리게이트의 역할
      • 14.5.3 간단한 RSS 리더 제작
      • 14.5.4 돌아온 고도: 코어 로케이션 예제
    • 14.6 웹에 포스팅하기
      • 14.6.1 직접 포스팅하기
      • 14.6.2 폼 전송
    • 14.7 소셜 웹 액세스
      • 14.7.1 웹 프로토콜 사용
      • 14.7.2 TouchJSON 사용
    • 14.8 요약
  • 15장 게임 킷을 이용한 P2P 연결
    • 15.1 게임 킷 개요
    • 15.2 피어 피커를 이용한 P2P 애플리케이션 만들기
      • 15.2.1 애플의 내장 피어 피커 사용
      • 15.2.2 GKSessionDelegage 메소드 구현
      • 15.2.3 피어간 데이터 송수신
    • 15.3 예제: 멀티플레이어 탁구 게임 만들기
      • 15.3.1 GKTennis 프로젝트의 시작
      • 15.3.2 헤더 파일 생성
      • 15.3.3 탁구 인터페이스 만들기
      • 15.3.4 게임 초기화
      • 15.3.5 피어 피커 설정과 네트워크 연결
      • 15.3.6 send와 receive 메소드 구현
      • 15.3.7 게임 루프
      • 15.3.8 사용자 상호작용
    • 15.4 요약
  • 16장 푸시 노티피케이션 서비스
    • 16.1 푸시 노티피케이션 정의
    • 16.2 애플의 푸시 노티피케이션 시스템 개요
    • 16.3 푸시 노티피케이션 사용을 위한 애플리케이션 준비
      • 16.3.1 애플리케이션 인증서 설정
      • 16.3.2 프로비저닝 프로파일 설정
      • 16.3.3. 푸시 노티피케이션 처리 코드
      • 16.3.4 오디오 파일 준비
    • 16.4 PHP를 이용한 푸시 노티피케이션 프로바이더 제작
      • 16.4.1 SSL 인증서 만들기
      • 16.4.2 PHP 푸시 노티피케이션 프로바이더 구현
    • 16.5 요약
  • 17장 맵킷 프레임워크
    • 17.1 맵킷 개요
    • 17.2 애플리케이션에 지도 추가
      • 17.2.1 인터페이스 빌더를 사용한 지도 추가
      • 17.2.2 프로그램 방식으로 지도 추가
      • 17.2.3 지도 제어
    • 17.3 리버스 지오코딩
    • 17.4 지도에 어노테이션 표시
      • 17.4.1 기본 지도 어노테이션 추가
      • 17.4.2 커스텀 지도 어노테이션 추가
    • 17.5 요약
  • 18장 스토어킷을 이용한 인앱퍼처스
    • 18.1 샌드박스 테스트환경 설정
      • 18.1.1 아이튠즈 테스트 사용자 생성
      • 18.1.2 상품 추가
    • 18.2 간단한 스토어 인터페이스 제작
    • 18.3 요약
  • 19장 iOS SDK 개선사항
    • 19.1 커스텀 키보드 액세서리
      • 19.1.1 UITextField 확장
      • 19.1.2 커스텀 UITextField 구현
      • 19.1.3 커스텀 키보드
    • 19.2 향후 전망: iOS SDK 4.x
      • 19.2.1 멀티태스킹
      • 19.2.2 사용자 경험 개선사항
      • 19.2.3 멀티미디어 프레임워크 개선사항
      • 19.2.4 게임 센터
    • 19.3 요약
  • 부록 A iOS 클래스 참조문서
  • 부록 B 참고 사이트
  • 부록 C SDK 프로그램 배포

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안