목차

지은이의 글
추천의 글

1부 Xcode4 시작하기

1장 Xcode 첫걸음

1.1  맥의 개발 환경
1.2  책의 구성
1.3  애플 개발자 문서
1.4  마무리

2장 Xcode의 역사

2.1  Xcode의 태동
2.2  초기 개발 환경
2.3  Xcode의 탄생
2.4  마무리

3장 Xcode4 설치하기

3.1  설치하기
Xcode4 다운로드
설치 화면
제거하기
3.2  패키지 구성
/Developer 디렉터리
3.3  마무리

4장 Xcode4로 이주하기

4.1  Xcode3 프로젝트 호환성
4.2  프로젝트 내부 구조
xcodeproj와 pbxproj
Xcode4 프로젝트 구조
4.3  마무리

5장 Xcode4의 새로운 핵심 기능

5.1  단일 창
5.2  통합 인터페이스 빌더
5.3  보조 화면
5.4  LLVM 컴파일러
5.5  즉시 표현과 Fix-it
5.6  버전 편집기
5.7  새로운 디버거 – LLDB
5.8  마무리

2부  Xcode4 철저 해부

6장 새로운 화면과 용어 이해하기

6.1  화면 구성
툴바
점프바
바로가기 점프 메뉴
단계별 점프 메뉴
영역별/기능별 설명
6.2  워크스페이스 관련 용어
6.3  빌드 관련 용어
6.4  디버깅 관련 용어
6.5  마무리
모든 작업의 시작점

7장 프로젝트 만들기

7.1  프로젝트 내비게이터
문맥 메뉴(Context Menu)
7.2  심벌 내비게이터
7.3  이슈 내비게이터
7.4  검색 내비게이터
7.5  디버그 영역
7.6  브레이크포인트 내비게이터
7.7  디버그 내비게이터
7.8  로그 내비게이터
7.9  마무리

8장 부가 정보 활용하기

8.1  세부 정보 – 인스펙터
파일 인스펙터
트위터 API
빠른 도움말
viewDidLoad 메서드
XML 파싱
테이블 뷰 데이터 소스 델리게이트
아이덴티티 인스펙터
속성 인스펙터
크기 인스펙터
연결 인스펙터
바인딩 인스펙터
뷰 이펙트 인스펙터
8.2  정보 창고 – 라이브러리
파일 템플릿
코드 조각
인터페이스 객체
미디어
8.3  마무리
코딩에 집중하기
퀵타임과 코어 비디오

9장 HelloVideo 프로젝트

9.1  구문 분석과 색 표시
9.2  통합 인터페이스 빌더
9.3  보조 화면
IBOutlet 연결
IBAction 연결
보조 화면 배치
헤더 코드 작성
9.4  코드 완성
멀티 탭/멀티창 모드
구현 코드 작성
캡처 데이터 저장
프레임 이미지 저장
9.5  Fix-it
9.6  코드 조각
나만의 코드 조각
프로그램 실행 결과
9.7  리팩터링
이름 변경(Rename)
추출(Extract)
캡슐화하기(Encapsulate)
상위 클래스 만들기(Create Superclass)
상위로 올리기(Move Up)
하위로 내리기(Move Down)
9.8  마무리

10장 인터페이스 디자인 이해하기

10.1  인터페이스 디자인
디자인 철학
HIG
아웃렛과 액션
NIB vs. Code
UICatalog 샘플
NIB 파일
NIB 파일 디자인 가이드
10.2  디자인 패턴
코코아 디자인 패턴
Chain of Responsibility 패턴
Observer 패턴
MVC 패턴
뷰와 뷰 컨트롤러 프로그래밍
10.3  리소스 프로그래밍
NIB 파일 처리
문자열 리소스
이미지 리소스
오디오 리소스
비디오 리소스
10.4  마무리

11장 효과적인 소스 관리

11.1  소스 관리
소스 트리(Source Trees)
소스 버전 관리
저장소
버전 편집기
11.2  SVN 연동
저장소 만들기
프로젝트 임포트하기
저장소에서 체크아웃
11.3  Git 연동
HelloGit 프로젝트 만들기
예제 프로그램 실행
11.4  SVN과 Git 비교
서브버전을 위한 조건
Git을 위한 조건
11.5  마무리
프로젝트 제대로 관리하기

12장 Xcode 프로젝트

12.1  워크스페이스
기존 프로젝트 추가하기
12.2  빌드 시스템
타깃
타깃 종류
타깃 구조
빌드 설정
프로젝트 빌드 설정
타깃 빌드 설정
12.3  스킴
목적지(Destination)
빌드 액션
실행 액션
테스트 액션
아카이브 액션
스킴 관리
pre-Action과 post-Action
12.4  라이브러리와 프레임워크
정적 라이브러리(Static Library)
동적 라이브러리(Dynamic/Shared Library)
프레임워크
프레임워크 구조
프레임워크 만들기
12.5  번들 구조
애플리케이션 번들 구조
12.6  개발 문서 만들기
HeaderDoc
Doxygen
docset
Xcode 문서 디렉터리
appledoc
12.7  마무리

13장 작업 환경 확장하기

13.1  디바이스
개발자 프로파일
프로비저닝 프로파일
소프트웨어 이미지
디바이스 로그
스크린샷
13.2  저장소
13.3  프로젝트
스냅샷
13.4  아카이브
iOS 앱 배포 준비
아카이브 목록
검증(Validate) 기능
공유(Share) 기능
전송(Submit) 기능
13.5  개발 문서
13.6  마무리

14장 나만의 스타일로 꾸미기

14.1  일반 설정
자동 저장(Auto-save)
즉시 표현(Enable Live Issues)
활성화(Activation)
내비게이션(Navigation)
14.2  편집기 설정
편집(Editing)
들여쓰기(Indentation)
14.3  동작 규칙 설정
14.4  키 바인딩 설정
14.5  개발 문서 설정
14.6  위치 설정
관련 데이터(Derived Data)
스냅샷 위치(Snapshot Locations)
아카이브 위치(Archive Locations)
빌드 위치(Build Locations)
14.7  분산 빌드 설정
분산 빌드 서버
분산 빌드 클라이언트
14.7  마무리

3부  디버깅과 분석 도구

15장 디버거 익숙해지기

15.1  디버깅하기
가위바위보 게임 프로젝트
첫 번째 기능
디버그 영역
15.2  브레이크포인트
브레이크포인트 액션
예외 브레이크포인트
심벌릭 브레이크포인트
15.3  LLDB
LLDB의 특징
LLDB 사용하기
LLDB 명령어
15.4  멀티스레드 디버깅
15.5  expression 활용하기
15.6  디버그 스크립트
15.7  디버깅 분석 기법
15.8  마무리

16장 단위 테스트하기

16.1  로직 테스트 추가하기
16.2  가위바위보 두 번째 구현
로직 테스트
추가 구현
16.3  앱 테스트 추가하기
16.4  마무리
에러 예측하기

17장 에러 예측하기

Clang과 정적 분석
17.1  잘못된 코드 만들기
17.2  유형별 분석
잘못된 사용(API Misuse)
죽은 코드(Dead Store)
잠재적 메모리 누수(Potential leak)
널 참조(Null Dereference)
논리적 오류(Logic Error)
17.3  다른 활용 방법
터미널에서 Clong 명령 사용하기
맥 웹브라우저에서 정적 분석 결과보기
17.4  마무리

18장 비주얼 시퀸스 예제 만들기

성능 분석과 최적화하기
내장 인스트루먼트 템플릿
프로파일 액션
18.1  메모리 할당과 누수
18.2  작업 시간 프로파일
맥에서 프로세스 분석하기
18.3  UI 자동 점검
18.4  전원 사용량 분석
18.5  디스패치
블록과 GCD
GCD API
작업 열 개 처리하기
dispatch_sync
dispatch_async와 dispatch_apply
디스패치 인스트루먼트
18.6  시스템 분석
18.7  나만의 분석 도구 만들기
프로브(Prove)
18.8  마무리

 

19장 개발 도구 활용하기

19.1  대시코드
19.2  코어 이미지 펀하우스
19.3  돋보기
19.4  GUI 구조 들여다보기
19.5  아이콘 만들기
19.6  패키지 만들기
19.7  마무리

4부  숨겨진 개발 환경

20장 LLVM

20.1  LLVM이란
LLVM의 역사
LLVM 구조
LLVM 프로그램 구성
LLVM 가상 언어(IR)
20.2  LLVM 특징
컴파일 시간 단축
컴파일에 필요한 데이터 공간 절약
Clang 프론트엔드
IPO/IPA
부속품 기반 구조(Compnent-based Architecture)
LLVM 명령어
20.3  최적화 옵션
분석 과정(Analysis Passes)
변환 과정(Transform Passes)
유틸리티 과정(Utility Passes)
20.4  서브 프로젝트
Clang 프로젝트
드래곤 에그 프로젝트
LLDB 프로젝트
libc++ 프로젝트
기타 프로젝트
20.5  활용 사례
OpenGL
OpenCL
ARC
연금술사 프로젝트와 Crack 프로젝트
이 밖의 활용 방안
20.6  마무리

 

21장 유닉스 개발 환경

21.1  X 윈도
X11
X11 기반의 xterm
X11 포워드하기
21.2  코코아-콘솔 프로그래밍
CocoaPing 프로젝트
NSTask 클래스
구현하기
실행 결과
셸 프로그래밍
21.3  xcodebuild
21.4  Fink와 MacPort
Fink
MacPorts
21.5  마무리

 

22장 새로운 맥 OS X – 라이언

22.1  맥 앱스토어
맥 앱 배포 준비
22.2  라이언
기본 개념
22.3  마무리