아이폰&아이패드 인 액션 [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 컨설팅지원부 컨설팅센터
오승환 차장
[ 소개 ]
이 책의 튜토리얼은 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장 아이폰과 아이패드
- 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 요약
- 2.1 SDK를 위한 준비
- 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 요약
- 3.1 엑스코드 소개
- 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 요약
- 4.1 인터페이스 빌더 소개
- 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 요약
- 6.1 이벤트 소개
- 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 요약
- 7.1 탭바 뷰 컨트롤러
- 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 요약
- 9.1 SQLite
- 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 요약
- 10.1 가속도계와 방향전환
- 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 요약
- 11.1 이미지 소개
- 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 요약
- 12.1 아이팟 라이브러리에서 오디오 재생
- 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 요약
- 18.1 샌드박스 테스트환경 설정
- 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 요약
- 19.1 커스텀 키보드 액세서리
- 부록 A iOS 클래스 참조문서
- 부록 B 참고 사이트
- 부록 C SDK 프로그램 배포