목차

1장 안녕! 아이폰!

1.1 아이폰의 등장
1.2 아이폰/아이팟 터치 모델
1.3 아이폰 OS 3.0의 새로운 기능
1.4 이 책이 다루는 내용
1.5 새로운 도전

 

2장. 설치 및 개발 환경 구축

2.1. 개발에 필요한 시스템
개발에 필요한 시스템 사양
2.2. 아이폰 SDK 설치
아이폰 SDK 설치하기
2.3. Xcode
프로젝트 템플릿
Xcode 화면 구성
2.4 인터페이스 빌더
인스펙터
라이브러리
문서 창
연결 패널
2.5 도움말 접근하기
조사 도우미
도움말 창
고급 검색
편집기의 문자열을 도움말 창에서 바로 검색하기
도움말 문서의 형태
2.6 아이폰 레퍼런스 프로젝트
프로젝트 생성
인터페이스 빌더로 화면 디자인하기
코드 입력하기
2.7. 아이폰 시뮬레이터
터치 조작
리셋하기
참고 사이트
2.8 정리

 

3장 동작 환경 이해하기

3.1 아이폰 동작 환경
3.2 애플리케이션 번들
3.3 Info.pList 파일
3.4 애플리케이션 델리게이트
3.5 핵심 디자인 패턴
델리게이트(delegate)
데이터 소스(Data Sources)
타깃-액션(Target-Action)
통보(Notification)
키-값 감시(Key-Value Observing)
3.6 아이폰 링크
메일
전화 걸기
문자(SMS) 보내기
지도 보기
아이튠스
유튜브(YouTube) 연결하기
3.7 커스텀 URL 스키마 만들기
3.8 정리

 

4장 화면을 이루는 기본 : 뷰

4.1 UIWindow
4.2 UIView와 UIViewController
4.3 뷰를 직접 만들어 보자
이미지 준비
코드 작성
직접 만든 뷰를 화면에 추가하기
4.4 UI 브로슈어 프로젝트
4.5 이미지 뷰(UIImageView)
인터페이스 빌더를 이용한 화면 디자인
코드 작성
이미지 선택하기
애니메이션 설정
4.6 웹 뷰(UIWebView)
디자인하기
코드 작성하기
PDF를 보여주자
4.7 텍스트 입력과 키보드
화면 구성
코드 작성
키보드 숨기기 팁
키보드 관련 통보 이용하기
4.8 피커 뷰
코드 분석
슬롯머신 게임 만들어 보기
XIB에 객체 추가하기
로직 구현
4.9 알림, 경고창
인터페이스 빌더에서 클래스 내보내기
병합하기
UIAlertView 코드 작성
UIActionSheet 코드작성
4.10 스크롤 뷰
스크롤, 확대, 축소 구현하기
스크롤에 따른 지도확장
확대에 따른 지도 재설정
자바스크립트에서 Objective-C 객체에 이벤트 보내기
4.11 맵 뷰(MKMapView)
화면 디자인
코드 작성
직접 표시 추가하기
표시 직접 구현하기
4.12 정리

 

5장 뷰를 담는 그릇 : 뷰 컨트롤러

5.1 회전에 대비하기
자동 회전(AutoRotate)
자동 크기 조절
자동 크기조절의 한계
5.2 테이블 뷰와 테이블 뷰 컨트롤러
데이터 소스
인덱스 이용하기
셀을 직접 꾸미기
검색 기능 넣기
테이블 뷰 정리
5.3 내비게이션 컨트롤러
내비게이션 컨트롤러 생성하기
내비게이션 아이템 설정
편집 / 완료
테이블 뷰의 항목 이동
5.4 탭 바 컨트롤러
구현하기
탭 바 아이콘
배지(Badge)
5.5 이미지 피커
5.6 이메일 뷰 컨트롤러
5.7 정리

 

6장. 이벤트 처리

6.1 UIResponder와 응답 체인
기본 메서드
아이폰 OS 3.0에 추가된 메서드
UIResponder 체인 메서드
이벤트 흐름
6.2 멀티 터치 동작 원리
첫 번째 손가락
손가락 움직이기
멀티 터치
손 때기
6.3 멀티 터치 구현하기
6.4 두드림(tap)
6.5 닦아내기(Swipe)와 집기(Pinch)
닦아내기
집기(Pinch) 동작
6.6 흔들기와 실행 취소, 실행 복귀
NSUndoManager
6.7 베껴두기와 붙이기
6.8 정리하기

 

7장. 그래픽과 애니메이션

7.1 쿼츠(Quartz)
직선 그리기
사각형
다각형 그리기
이미지/비트맵 그리기
PDF 그리기
그래디언트(Gradient)
글꼴(Font)
베지어(Bezier) 곡선
쿼츠 정리
7.2 코어 애니메이션
속성 변화 애니메이션
고급 속성 변화 애니메이션
전환 효과(Transition)
7.3 UIView 애니메이션
7.4 OpenGL
프로젝트 생성
MD2 모델 뷰어
OpenGL 정리
7.5 정리

 

8장. 동영상과 사운드

8.1. 오디오 형식
8.2 오디오 재생
짧은 효과음과 진동
일반 오디오 재생하기
AVAudioPlayer로 재생하기
8.3 오디오 큐 서비스
녹음하기
녹음 시간 표시하기
재생하기
UI 업데이트를 위한 콜백
8.4 오디오 세션
AVAudioSession
8.5 네트워크 오디오 스트림
8.6. 동영상 재생
8.7 아이튠스 라이브러리 접근하기
8.8 정리

 

9장. 아이폰 자원 활용

9.1 장치 정보 얻기
9.2 가속도계 이용하기
9.3 주소록 프레임워크
검색하기
수정하기
주소록 UI(AddressbookUI)
9.4 파일에 저장하기
접근할 수 있는 디렉터리
프로퍼티 리스트
고급 프로퍼티 리스트
아카이브(Archive)
9.5 SQLite
데이터베이스 열기
쿼리 하기
데이터 변경하기
데이터베이스 닫기
9.6 코어 데이터
관리 객체 컨텍스트 생성하기
관리 객체 컨텍스트에 객체 가져오기
관리 객체 추가, 삭제
저장소에 기록하기
코어 데이터 정리
9.7 코어 로케이션
9.8 정리하기

 

10장. 네트워크 프로그래밍

10.1 푸시 통보 서비스
인증서 준비하기
OpenSSL
프로바이더 구현
메시지 구조
애플리케이션 구현
피드백
10.2 피어 투 피어 연결
예제 프로젝트 생성
델리게이트
10.3 음성 대화 추가하기
오디오 세션 설정하기
GKVoiceChatClient 프로토콜 구현
받은 데이터 알려주기
client 연결
대화 시작
10.4 정리

 

11장 설정 번들(Settings.bundle)

11.1 설정 애플리케이션이 설정 번들을 찾는 방법
11.2 예제 작성
11.3 설정 번들 파일 디자인하기
문자열 입력 추가하기
참, 거짓 스위치
다중 값 선택
슬라이더 추가하기
자식 항목 추가하기
11.4 새로운 파일을 설정 번들에 추가하기
11.5 지역화
11.6 애플리케이션에서 설정 값 접근하기
11.7 정리

 

12장 디버깅 가이드

12.1 Xcode로 디버깅하기
Xcode 화면 구조 설정하기
브레이크 포인트 설정하기
코드 실행하기
Objective-C 메서드에 브레이크 걸기
브레이크 포인트를 소리로 알려주기
브레이크 포인트에 동작 지정하기
와치 포인트 설정하기
메모리 덤프하기
디버깅 중이 아닌 애플리케이션의 NSLog 보기
12.3 인스트루먼츠(Instruments)
Leaks(메모리 누수 감지하기)
OpenGL ES 성능 확인
Activity Monitor
정리
12.4 Clang 정적 분석기
프로젝트 설정하기
설치하기
분석 진행
12.5 정리하기

 

13장 프로그래밍 기법과 팁

13.1 통보
통보 큐
13.2 프로퍼티와 접근자(Accessor)
synthesize 팁
프로퍼티 선언
메모리 해제
13.3 키-값 코딩(Key-Value Coding)
예외 상황
13.4 키-값 감시(Key-Value Observing)
수동으로 알리기
13.5 객체를 비교하는 방법
13.6 문자열 다루기
C 문자열로 초기화하기
문자열을 형식 문자로 구성하기
13.7 타이머 (NSTimer)
지정한 시간에 타이머 시작하기
13.8 스레드 기초
스레드 생성하기
스레드 메서드 구현하기
런 루프
스레드의 대안
13.9 메모리 관리
규칙 1
규칙 2
규칙 3
규칙 4
규칙 5
규칙 6
규칙 7
13.10 빌드 시에 시뮬레이터와 실제 장치 구분하기
13.11 빌드 시에 SDK 버전 구분하기
13.12 무료 버전 타깃 구성하기
13.13 정리

 

14. 다국어 지원

14.1 국제화
14.2 아이콘 및 리소스 지역화
14.3 문자열 지역화
14.4 XIB 지역화
14.5 Info.pList 지역화
14.6 정리

 

15장 배포와 스토어 킷

15.1 개발을 위한 준비
개발 인증서 발급
개발 장비 등록
애플리케이션 ID(AppID) 만들기
프로비전 만들기(Provisioning)
프로젝트 설정
15.2 배포 준비
배포 인증서
배포 프로비전
프로젝트 설정
AdHoc 프로젝트 설정
빌드 및 배포
Ad hoc 배포 사용하기15.3 애플리케이션 내 판매(In-App Purchase)
스토어 킷을 위한 사전 준비
스토어 킷의 클래스
상품 정보 얻기
구매하기
과거에 구매한 내역
15.4 정리
마치며

 

부록1. Xcode 단축키
부록2. 아이폰 3.0 클래스 계층도