맥과 아이폰 개발자를 위한
Xcode

사용자 삽입 이미지


원출판사
  Apress (원서 ISBN 9781430272212)
원서명  Learn Xcode Tools for Mac OS X and iPhone Development
저자명  이안 파이퍼(Ian Piper)
역자명  황반석
출판일  2010년 4월 30일
페이지  404쪽
판  형  4*6배판 변형(188*245) 반양장(Soft Cover)
정  가  25,000원
ISBN  978-89-962410-8-9  부가기호: 13560
시리즈  I♥Mobile 02 (아이러브모바일 02)
분  야  소프트웨어 개발/ 프로그래밍 / 모바일 프로그래밍 / 아이폰 / 맥

관련 사이트


도서 구매 사이트(가나다 순)

강컴    교보문고    도서11번가    리브로    반디앤루니스    알라딘    영풍문고    예스이십사    인터파크

도서 소개
이 책에서 다룰 주요 내용은 다음과 같다.

파트 1
첫 번째 파트에서는 핵심 Xcode 툴들에 대해 다룬다. 2장은 Xcode 워크스페이스와 코딩 툴을 다루는 Xcode 프로그램 자체에 대해 소개한다. 3장은 여러 종류의 애플리케이션을 위한 인터페이스 개발 예제로 인터페이스 빌더에 대해 알아본다. 4장에서는 아이폰 개발을 위한 여러 툴들에 대해 알아보게 될 것이다. 5장6장에서는 코코아 프레임워크와 MVC를 설명하고, 7장에서는 Xcode에 있는 다양한 디버깅 툴의 사용법을 배울 것이다. 8장은 애플 개발자 문서와 도움이 될 다른 것들에 대해 알아본다. 파트 1의 마지막 장인 9장에서는 앞에서 배운 것들을 맥 OS X 애플리케이션을 직접 만들면서 연습하게 될 것이다.

파트 2
두 번째 파트에서는 여러 가지의 고급 기능들과 비교적 덜 사용되는 기능들에 대해 다룬다. 10장은 서브버전(Subversion)을 이용한 리비전 관리에 대해 소개한다. 11장에서는 일반적으로 광범위한 주제 중에 하나인 단위 테스트에 대해 다룬다. 단위 테스트를 만드는 개발자는 극소수이지만, 정확하게 수행한다면 확실히 개발 시간을 단축해 준다. 단위 테스트가 개발환경에 포함되어 있는 루비 온 레일즈 개발자들은 이러한 접근법이 주는 이점을 잘 알 것이다. 12장은 성능 모니터링과 분석 툴들에 대해 다룬다. 인스트루먼트(Instruments)가 왜 있으며 어떻게 사용하는지 궁금해 왔다면, 이 장이 해결해 줄 것이다.

파트 3
이 책의 마지막 파트에서는 애플리케이션에 또 다른 레이어를 추가하여 성능을 향상시켜 주는 개발자들에게 잘 알려지지 않은 지원 툴들에 대해 다룬다. 13장은 아이콘 컴포저(Icon Composer), 프로퍼티 리스트 에디터(Property List Editor), 그리고 파일 머지(File Merge)를 포함해서 Xcode 툴에서 사용할 수 있는 여러 유틸리티들에 대해 설명한다. 14장은 사용성과 접근성에 대해 다룬다. 안타까운 점은 여러분이 세상에서 가장 유용한 컴퓨터 플랫폼에서 개발을 한다고 해서 여러분의 소프트웨어가 유용할 것이라고 말할 수 없다는 것이다. 이 장에서 사용자 인터페이스(Human Interface, HI)의 가이드라인에 대해 다루고, 여러분의 맥 소프트웨어 또는 아이폰 소프트웨어를 눈에 띄게 만들 Xcode의 기능들과 소프트웨어 설계를 위한 여러 접근법들에 대해 다룰 것이다. 사용성과 함께 중요한 요소는 장애를 가진 사람들도 쉽게 사용할 수 있도록 하는 소프트웨어 설계의 접근성이다. Xcode 툴들은 접근성 있는 소프트웨어를 개발할 수 있도록 최고의 지원을 제공하고 있고, 이 장에서 그것들에 대해 배우게 될 것이다. 그리고 마지막 장인 15장은 여러분의 소프트웨어를 세상에 발표하는 것에 대해 다룰 것이다. Xcode와 함께 한 여러분의 대부분의 시간들은 디버그 모드에서 소프트웨어를 개발하는 것이었지만, 결국은 발표할 시점을 갖게 될 것이다. 이 장에서는 여러분의 소프트웨어를 디버깅 단계에서 릴리즈 단계로 이동하기 위한 Xcode의 지원에 대해 설명한다. 여러분은 애플의 패키징 소프트웨어인 PackageMaker 사용법과 매력적이고 멋진 설치 패키지를 어떻게 만드는지 배우게 될 것이다. 여기서 앱 스토어를 사용하여 아이폰 소프트웨어를 발표하는 것에 대해서도 다룰 것이다.

뒷표지 내용
스노우 레오파드용 Xcode 릴리즈로 인해 맥 OS X 개발자와 아이폰 개발자 모두는 여태까지 구성된 그 어떤 것들보다도 사용하기 쉬운 개발 도구상자를 가질 수 있게 되었다. 애플이 남겨 둔 단 하나는 이 강력한 도구들과 기술들에 대한 간단하고도 명료한 설명서이다. 이 책 『맥과 아이폰 개발자를 위한 Xcode』는 맥과 아이폰용 애플리케이션을 개발하려는 입문자를 위해 명확하고 자세한 설명을 통해 애플이 남겨놓은 이 빈 공간을 잘 메워 주고 있다. 그와 동시에 숙련된 개발자들을 위해서는 새로운 기술과 고급 기능들에 대해서도 잘 다루고 있다.

이 책은 아래의 내용을 포함하여 맥 OS X와 아이폰을 위한 애플의 Xcode 개발자 환경을 완벽하게 설명하는 첫 번째 책이다.

■ Xcode IDE, Interface Builder, Instruments, 그리고 Shark를 포함한 Xcode 도구모음에 대한 종합적인 설명
■ 맥 OS X와 아이폰용 애플리케이션들에 대한 완벽한 개발 절차와 친절한 설명
■ FileMerge, Plist Editor, Icon Composer, 그리고 Pixie를 포함한 유용한 서드파티 개발 도구들에 대한 추가적인 설명

이 책의 특징과 배울 내용은 다음과 같다.

■ 전체를 다룬다: 애플의 개발 도구 전체를 살펴본다.
■ 구조적이다: 기초부터 시작하여 각각의 Xcode 컴포넌트 툴들의 목적, 장점, 그리고 한계에 대한 이해까지 논리적으로 서술한다.
■ 현실적이고, 실용적이며, 자세하다: 핵심 기술들에 대한 예제와 예제 프로젝트를 가지고 실제 동작하는 도구들을 보여준다.
■ 개발자 중심적이다: 맥 OS X와 아이폰용 애플리케이션을 코딩하고 개발하기 위한, 이 강력한 도구들과 기술들을 사용하는 효과적인 방법에 초점을 맞췄다.
■ 포괄적이다: 다양한 도구들을 소개하고 전문적인 애플리케이션을 개발하기 위한 도구모음의 기능들을 어떻게 통합할 수 있는지 보여준다.

저자 머리말 중에서
필자는 맥과 아이폰 개발을 하려는 신규 개발자들에게 좋은 동반자가 될 것이라는 생각으로 책을 썼으며, 여러분이 맥과 아이폰 소프트웨어 개발 방법을 배울 때마다 이 책이 옆에 있길 희망한다. 왜냐하면 이 책은 필자가 알고 싶었던 내용을 담고 있기 때문이다. 이 책은 여러분이 편안하게 맥과 아이폰 소프트웨어 개발하는 데 필요한 개발 환경, 툴, 기술, 그리고 기법에 대해서 친절한 안내자가 되도록 기획되었다. 여러분에게 기본적인 개발자 툴부터 소스 코드 관리, 성능 분석, 그리고 단위 테스팅과 같은 더 고급 기술들까지 안내할 것이다. 간단한 것에서 시작하여 고급 주제들로 진행되겠지만, 여러분에게 필요한 것에 대해서는 자세하게 알아볼 것이고, 이미 알고 있거나 지금 당장에 알 필요가 없는 부분에 대해서는 건너뛸 것이다. 마지막으로, 재미있게 쓸려고 노력했다. 맥을 사용하는 것은 삶이 주는 커다란 즐거움 중에 하나인데, 맥에서 동작하고 사용할 소프트웨어를 개발하는 게 어찌 재미있지 않겠는가?

이 책은 오브젝티브-C 책이 되지 않도록 노력했지만, 이 책을 읽으면서 오브젝티브-C의 많은 핵심 기능들을 보게 될 것이다. 특히 여러분이 이미 C, C#, 또는 자바와 같은 언어에 대해 잘 안다면 말이다.

저자 소개
이안 파이퍼(Ian Piper)
이안은 1984년 처음 맥을 접한 이후 지금까지 매킨토시, 뉴턴, 그리고 아이폰 개발을 해오고 있다. 현재는 영국에서 정보 관리 컨설턴트 사업을 운영하고 있으며, 아이폰과 맥 소프트웨어 개발도 하고 있다. 여가 시간에는 레이크 디스트릭트(Lake District)와 요크셔 데일즈(Yorkshire Dales)로 산행을 간다. 그의 아내 케롤라인(Caroline), 아이들 앨리스(Alice)와 벤(Ben), 그리고 강아지 매그(Meg)와 함께 워릭셔(Warwickshire)에 살고 있다.

기술 검토자 소개
제임스 뷰캔넥(James Bucanek)

제임스는 지난 30년 간 마이크로프로세서 시스템들을 개발해온 베테랑 프로그래머이다. 그는 피아노 교습 시스템으로부터 산업용 로봇까지 다양한 컴퓨터 기술들에 대한 경험을 가지고 있다. 현재 제임스는 품격 있는 설계에 대한 열정을 가지고 그의 유닉스 지식과 객체지향 언어들을 결합할 수 있는 매킨토시와 아이폰 소프트웨어 개발에 집중하고 있다. 저서로는 『Professional Xcode 3』(2010, Wrox), 『Learn Objective-C for Java Developers』(2009, Apress), 『Beginning Xcode』(2006, Wrox) 등이 있다.

옮긴이 소개
황반석(http://peterslab.tistory.com)
유년 시절 만화영화 『로보트 태권V』에서 ‘태권V’를 만든 ‘김박사’가 프로그래머인줄 알고 개발자의 꿈을 키워 왔다(‘김박사’는 프로그래머가 아닌 기계공학자란 건 나중에 알게 되었지만). 대학에서 컴퓨터 공학을 전공하였고, 10여 년 동안 IT 업계에 몸담고 있으면서 수많은 프로젝트들을 수행해 왔다. 다양한 개발 기술과 최신 트렌드에 관심이 많으며, 현재는 스마트폰(아이폰, 안드로이드) 개발에 집중하고 있다.

차 례
Chapter 1  맥 OS X와 아이폰을 위한 Xcode 소개
맥 프로그래머를 위한 소프트웨어 개발 선택   1
Xcode 툴을 사용하여 개발해야 하는 이유   3
Xcode, 코코아, 그리고 오브젝티브-C   3
애플 Xcode 개발자 툴들   5
이 책에서 다루는 내용   6
    파트 1   6
    파트 2   6
    파트 3   7
이 책에서 다루지 않는 내용   7
요약   8

PART 1  핵심 Xcode 툴셋
Chapter 2  Xcode 워크스페이스 소개
Xcode 개발자 툴들 구하고 설치하기   10
    Xcode 구하기   10
    Xcode 설치하기   12
    설치된 Xcode 개발자 툴 제거하기   14
Xcode 워크스페이스 알아보기   14
    Welcome to Xcode 윈도우   15
    Xcode의 깨끗한 스크린 뷰   15
    새 프로젝트 시작하기   16
Xcode 워크스페이스 작업 환경   19
    Groups & Files 목록   20
    상세 뷰   22
    에디터 뷰   23
    툴바   25
    즐겨찾기 바   29
    상태 바   29
모든 것이 끔찍하게 잘못 됐어요   30
    Xcode 워크스페이스 환경설정   30
    General   30
    Code Sense   31
    Building   32
    Distributed Builds   32
    Debugging   32
    Key Buildings   32
    Text Editing, Fonts & Colors, 그리고 Indentation   33
    File Types   33
    Source Trees   33
    SCM   33
    Documentation   33
요약   34

Chapter 3  인터페이스 빌더
Xcode 프로젝트를 위한 전문적인 사용자 인터페이스 설계 그리고 그 이상   36
인터페이스 빌더 환경 알아보기   37
    사용자 인터페이스에 몇 가지 컨트롤 추가하기   39
    윈도우와 컨트롤 배치하고 정렬하기   40
    컨트롤 오토사이징   42
    라이브러리, 더 깊이 알아보기   48
연결하기   50
    도큐먼트 윈도우   50
    피할 수 없는 Hello World 프로그램   51
    추가 개발―Hello World 프로그램에 기능 추가하기   58
문서 기반 애플리케이션 만들기   61
    파일 저장하기와 읽어오기 구현   64
    약간 광택내기   68
요약   71

Chapter 4  핵심 아이폰 툴들
중요한 일 먼저 하기: 아이폰 소프트웨어 개발에 필요한 것   73
SDK 구하고 설치하기   74
간단한 아이폰 애플리케이션 개발하기   75
    약간 더 광택내기   87
    딱 하나만 더   89
요약   90

Chapter 5  Xcode의 프레임워크
프레임워크 둘러보기   92
    프레임워크는 무엇인가?   93
    프레임워크의 위치   94
    다른 프레임워크들   94
    더 많은 정보를 얻으려면   95
애플리케이션에서 프레임워크 사용하기   95
    WebKit Framework―나만의 웹 브라우저 만들기   95
    Core Data Framework―간단한 데이터베이스 애플리케이션 만들기   101
    ScreenSaver Framework   114
요약   127

Chapter 6  Xcode의 모델-뷰-컨트롤러
MVC 이해하기   128
가장 간단한 예제   130
조금 더 복잡한 예제   132
요약   138

Chapter 7  Xcode 프로젝트 디버깅
디버거와 콘솔 뷰   139
디버깅을 위한 프로젝트 생성하기   141
프로젝트 실행하고 디버깅하기   145
    구문 오류   146
    브레이크포인트를 이용한 디버깅   147
    NSLog를 이용하여 변경되는 속성값 추적하기   153
    문서로 구문 체크하기   154
디버거 살펴보기   157
    코드 에디터에서의 디버깅 기능들   157
    메인 디버거 윈도우   158
    미니 디버거   160
    콘솔   162
요약   162

Chapter 8  Xcode 문서
Xcode를 위한 문서 자원 개요   163
빠른 도움말   164
ADC 문서   166
    코코아 기본 가이드   167
    Xcode 워크플로우와 코코아 애플리케이션 튜토리얼   168
    Xcode 개발자들에게 권장하는 읽을거리   168
    ADC 문서 둘러보기   169
애플 개발자 사이트의 다른 자원들   173
써드파티 온라인 자원들   174
다른 정보들   174
    유용한 정보 대 무익한 정보 비율 높게 유지하기   175
    메일링 리스트와 웹 포럼   175
    RSS 피드   176
자신만의 개발자 문서 만들기   176
    Doxygen 다운로드와 설치   177
    Doxygen으로 문서 생성하기 개요   177
    코드에 주석 달기   177
    TemperatureConverter 문서 만들기   179
    HTML을 Docset으로 전환하기   182
    Doxygen에 대한 고급 주제들   185
요약   186

Chapter 9  애플리케이션 개발
문제 정의하기   187
애플리케이션 설계하기   188
    문제 영역 스케치하기   189
    데이터 모델   191
    프로젝트 생성하기   193
    데이터 저장 포멧 선택하기   195
    사용자 인터페이스 구축하기   196
    애플리케이션 실행하기   208
    동작하지 않을 때 해야 할 일   209
    개선하기   209
    이 애플리케이션이 이제 어디로 가는가?   216
돌아보기 그리고 전망하기   217

PART 2  개발에 유용한 툴
Chapter 10  서브버전으로 소스코드 관리
서브버전 소개   221
    서브버전 작업 주기   222
    단일 저장소 혹은 개별 저장소   224
    더 많은 정보를 얻을 수 있는 곳   225
로컬 서브버전 서버 설치하기   226
    저장소 생성하기   227
    Xcode에서 저장소 설정하기   230
    프로젝트들로 저장소 채우기   232
    저장소에서 작업본 받기   234
    코드 수정하기와 커밋하기   236
    리비전 비교하기와 롤백하기   238
    버전 충돌 해결하기   239
온라인 서브버전 서버 사용하기   241
요약   243

Chapter 11  Xcode의 단위 테스팅
단위 테스팅 소개   246
단위 테스팅 실습하기   248
    단위 테스팅을 위한 프로젝트 설정하기   249
    단위 테스트 개발하기   251
    첫 번째 단위 테스트 실행하기   253
무엇을 테스트해야 하나?   257
    올바름   257
    잘못된 입력   257
    한계 조건들   259
    테스트를 위한 다른 요소들   260
더 효과적인 테스트 세트 만들기   261
앞으로 갈 방향   262
    의존적인 단위 테스팅 vs. 독립적인 단위 테스팅   263
요약   266

Chapter 12  모니터링, 분석, 그리고 성능 툴
인스트루먼트   267
    메모리 누수 추적하기   268
    파일 액티비티 추적하기   276
    액티비티 모니터   278
    인스트루먼트로 할 수 있는 그 외의 것들   279
샤크   281
빅탑   286
스핀 컨트롤   289
요약   291

PART 3  지원 툴
Chapter 13  바쁜 개발자를 위한 지원 툴
아이콘 컴포저   295
    애플리케이션 아이콘을 위한 기본 이미지 생성하기   296
    아이콘 컴포저에서 아이콘 생성하기   297
픽시   302
파일머지   304
프로퍼티 리스트 에디터   309
도움말 기능 추가하기   311
    Xcode 기반 애플리케이션의 도움말   311
    XHTML 페이지 만들기   311
    환영 페이지에 메타 태그 추가하기   313
    헬프 인덱서 실행하기   313
    Xcode 프로젝트에 도움말 파일 추가하고 설정하기   314
    새로운 도움말 기능 테스팅   316
    도움말 페이지로 링크되는 헬프 버튼 추가하기   317
요약   321

Chapter 14  사용성과 접근성
사용성 개요   323
    일관성   323
    행동 유도성   325
    사고 모델   325
맥 OS X를 위한 사용성 고려사항   326
    좋은 사용성을 위한 프로그램 설계 고려사항   326
    자동크기조절과 자동배치   328
    일관적인 화면 설계   328
    행동 유도성 다시 보기   329
    탭 순서   331
아이폰 프로그램 설계를 위한 특별한 사용성 고려사항   332
    폼 팩터   332
    오직 하나의 윈도우   332
    오직 하나의 어플리케이션   332
    직접-조작 인터페이스   333
    제스처 기반의 인터페이스   333
맥 OS X의 접근성   333
    접근성 고려사항   334
    소프트웨어의 접근성 테스팅   336
    보이스오버   339
요약   343

Chapter 15  패키징과 배포
빌드 설정―디버그에서 릴리즈로   344
디스크 이미지 사용하기   345
패키지메이커   351
    무엇으로 구성되어 있나   351
    패키지메이커를 이용한 설치 패키지 만들기   352
    패키지 빌드하기   362
    설치 패키지 테스트하기   363
아이폰 애플리케이션 배포하기   364
    사전 준비 단계   365
    전부 잘 동작하는지 검사하기   371
    애드 혹 배포   372
요약   373