예제로 시작하는 아이폰 개발
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
가장 먼저 SDK를 중점적으로 살펴보고 아이폰 개발 환경의 설정 방법은 물론, 아이폰 애플리케이션의 구조를 알려준다. 아울러 아이폰뿐 아니라, 아이팟 터치 애플리케이션 개발 중에 발생하는 문제를 해결할 수 있도록 인도하고 있다. 스코롤 리스트를 초라하게 만들 정도로 우아한 시각적 경험을 안겨주는 커버플로우를 사용하는 방법도 배우게 된다.
특히 아이폰 개발자들이 쉽게 맞닥뜨리는 문제에 대한 해법을 구현한 예제를 제공할 뿐 아니라, 실전에서 쉽게 사용할 수 있는 해답을 모색한다. 관련된 문제끼리 묶여 있어 자신이 겪고 있는 문제를 해결하기 위해 어떤 클래스나 프레임워크가 필요한지 완전히 이해하지 않아도 쉽게 답을 찾을 수 있다.
☞ Tip!
『예제로 시작하는 아이폰 개발』의 뒷부분에는 한국어판을 맞아 특별 부록으로 〈아이폰 개발에 꼭 필요한 오브젝티브 C 기초와 메모리 관리〉를 수록하고 있습니다.
모든 코드는 애플이 공식 아이폰인 SDK를 바탕으로 구성했습니다.
작가정보
(Erica Sedun)
기술 특히 프로그래밍, 디지털 비디오, 디지털 사진 영역을 다룬 약 36권의 책을 집필하고 기여했다. 에리카는 디지털 기기라면 무엇이든 손에 넣어야 직성이 풀릴 정도로 전형적인 긱geek이다. 넥스트, 뉴튼, 아이폰 그리고 성공과 실패를 거듭한 무수히 많은 기술이 그녀의 변화무쌍한 지난 세월을 함께 했다. 집필을 하지 않을 때는 역시 긱인 그녀의 남편과, 긱 수업 중인 사랑스러운 세 자녀와 함께 지낸다.
www.ericasadun.com
번역 김동현
서울대학교 조선해양공학과 학부와 대학원을 졸업하고 나름 열심히 배를 만들다가 진정한 개발자가 되고 싶다는 지금도 이해 못 할 결정 후 2004년 조직도에도 없는 다음 신규 서비스 팀으로 입사했다. 다음 파이 서비스를 기획/개발했고 UCC 동영상 기획/개발을 거쳐 다음 tv팟과 UCC 동영상 서비스를 담당하고 있다. 요즘은 다음 tv팟 아이폰 애플리케이션을 개발하고 있으며 최근 관심사는 모바일과 그에 따르는 위치기반서비스다. 현재 그에 필요한 작은 부분들을 동영상 개발팀원들과 함께 준비 중이다. 아이폰 개발과 웹 트렌드에 관한 소고, 신변잡기를 적고 있는 블로그 'are you dreaming(www.i-dreaming.com)'를 보면 그가 얼마나 ‘다양한 사람’인지 알 수 있다.
번역 오형내
동네 컴퓨터 학원에서 배운 GW 베이직이 컴퓨터 개발의 전부라고 착각하고 입학한 연세대학교 컴퓨터과학과를 2000년에 멋지게 졸업했다. 벤처 신화를 따라 시작한 모험 끝에 2002년 다음 커뮤니케이션에 입사하여 커뮤니티 조직에서 여러 인터넷 서비스를 담당했으며, 잠깐 중국 상하이에서 코딩을 하는 재미있는 경험도 했다. 현재 다음 tv팟과 UCC 동영상 서비스를 담당하고 있고 개인적으로는 모바일 환경 변화에 맞는 새로운 서비스를 만들 수 있는 신대륙을 찾고 있다.
목차
- 01장 아이폰 SDK 소개 ● 31
애플 아이폰 SDK ● 31
아이폰 프로젝트 ● 33
아이폰 애플리케이션 컴포넌트 ● 35
애플리케이션 폴더 구조 ● 35
실행파일 ● 35
Info.plist 파일 ● 36
아이콘과 기본 이미지 ● 38
XIB 파일 ● 39
애플리케이션 번들에 포함되지 않은 파일 ● 39
샌드박스 ● 39
플랫폼의 제약사항 ● 40
저장공간 ● 41
데이터 접근 ● 41
메모리 ● 41
상호작용 ● 42
배터리 ● 43
애플리케이션 ● 43
사용자 행동 ● 44
SDK의 제약사항 ● 44
프로그래밍 패러다임 ● 45
객체 지향 프로그래밍 ● 45
모델-뷰-컨트롤러 ● 46
아이폰 애플리케이션 골격 만들기 ● 56
Hello World 애플리케이션 ● 57
클래스 ● 57
코드 ● 59
예제 코드와 메모리 관리에 대한 주의점 ● 60
Hello World 만들기 ● 62
아이폰 프로젝트 생성 ● 63
골격만 실행해보기 ● 64
아이폰 프로젝트 커스터마이즈 ● 65
식별자 정보 수정 ● 66
디버거 사용 ● 67
애플 아이폰 개발자 프로그램 ● 69
개발용 폰 ● 70
애플리케이션 식별자 ● 71
엑스코드에서 아이폰으로: 오거나이저 인터페이스 ● 72
프로젝트와 소스 리스트 ● 73
디바이스 리스트 ● 73
써머리 탭 ● 74
콘솔 탭 ● 74
크래쉬 로그 탭 ● 75
스크린샷 탭 ● 75
케이블 연결 ● 75
아이폰상에서 애플리케이션 테스트하기 ● 76
배포용 컴파일 ● 77
문서에 없는 API 호출 사용하기 ● 79
애드혹 배포 ● 80
정리 ● 81
02장 뷰 ● 83
UIView와 UIWindow ● 83
계층구조 ● 84
형태와 특성 ● 86
제스처 ● 90
예제: 단계적 하위뷰 붙이기 ● 90
방향전환 ● 92
예제: 뷰 드래깅 ● 94
UITouch ● 95
지속성 추가 ● 98
예제: 뷰 오려내기 ● 103
잘라내기와 터치 맞추기 ● 104
픽셀단위 값에 접근하기 ● 105
예제: 멀티터치 감지 ● 108
UIView 애니메이션 ● 111
UIView 애니메이션 블록 만들기 ● 112
예제: 뷰를 페이드 인/아웃하기 ● 113
예제: 뷰 간 전환하기 ● 115
예제: 뷰 뒤집기 ● 118
예제: CATransition을 레이어에 적용하기 ● 120
문서에 나오지 않는 애니메이션 타입 ● 121
일반 코어 애니메이션 호출 ● 123
예제: 뷰 스와이프하기 ● 124
예제: 뷰 변형하기 ● 128
가로보기 뷰를 가운데로 맞추기 ● 131
정리 ● 132
03장 뷰 컨트롤러 ● 135
뷰 관리 ● 135
코어 클래스 ● 136
스페셜 클래스 ● 136
UIViewController 만들기 ● 138
인터페이스 빌더를 사용한 뷰 만들기 ● 140
온도 변환기 예제 ● 140
직접 XIB 파일을 로딩하기 ● 152
내비게이션 컨트롤러 ● 152
내비게이션 컨트롤러 설정 ● 153
뷰 컨트롤러를 스택에 넣고 꺼내기 ● 154
내비게이션 아이템 클래스 ● 155
예제: 아이템 둘 있는 메뉴 만들기 ● 156
예제: 세그먼트 컨트롤 추가하기 ● 158
예제: 내비게이션바에 UIToolbar 추가하기 ● 160
예제: 뷰 컨트롤러 간의 내비게이션 ● 164
루트로 바로 가기 ● 166
뷰 컨트롤러 배열 읽어들이기 ● 166
탭바 ● 167
정리 ● 171
04장 알림 ● 173
알림창을 통해 사용자에게 직접 알리기 ● 173
결과 로깅 ● 174
알림창 만들기 ● 175
화면에 알림창 띄우기 ● 177
예제: 여러 줄짜리 버튼 만들기 ● 177
예제: 버튼 없는 알림창 ● 180
예제: 사용자에게 텍스트 입력 요청하기 ● 181
예제: 간단한 메뉴 ● 184
‘대기 중’: 사용자에게 진행 상황 보여주기 ● 186
예제: 문서화되지 않은 UIProgressHUD 사용 ● 187
예제: UIActivityIndicatorView 사용 ● 189
예제: UIProgressView 만들기 ● 191
예제: 선택 가능한 커스텀 오버레이 만들기 ● 194
예제: 스크롤다운 알림창 만들기 ● 199
예제: 상태바에 이미지 추가하기 ● 203
애플리케이션 뱃지 달기 ● 204
예제: 간단한 소리 알림 ● 207
진동 ● 209
정리 ● 210
05장 기본 테이블 ● 211
UITableView와 UITableViewController 소개 ● 211
테이블 만들기 ● 212
UITableViewController가 하는 일 ● 214
예제: 단순 리스트 테이블 만들기 ● 215
데이터 소스 메소드 ● 215
셀의 재사용 ● 216
폰트 테이블 예제 ● 216
예제: 테이블 기반 선택 시트 만들기 ● 219
예제: 테이블 셀에 이미지 추가하기 ● 224
예제: 셀의 텍스트 속성 ● 226
셀 선택 제거 ● 228
예제: 복잡한 셀 만들기 ● 229
예제: 셀 선택 표시 만들기 ● 232
예제: 셀 삭제 ● 233
삭제 컨트롤 추가 ● 234
삭제 컨트롤 제거 ● 235
삭제 요청 처리 ● 235
스와이핑 셀 ● 236
셀 추가 ● 236
예제: 셀 순서 변경하기 ● 239
예제: 디스클로저의 사용 ● 240
정리 ● 243
06장 고급 테이블 ● 245
예제: 테이블 섹션 그룹화 ● 245
섹션을 지원하는 데이터 소스 ● 247
섹션 헤더 추가하기 ● 251
예제: 인덱스 섹션 테이블 ● 253
예제: 셀 배경색 바꾸기 ● 254
테이블 뷰 꾸미기 ● 258
예제: 두 배경색이 반복되는 셀 ● 260
예제: 프레임을 사용한 테이블 ● 262
예제: 셀에 컨트롤 추가하기 ● 264
예제: 멀티 휠 테이블 ● 266
UIPickerView 생성 ● 268
예제: UIDatePicker 사용하기 ● 271
날짜 피커 만들기 ● 271
예제: 풀 커스터마이징된 그룹 테이블 만들기 ● 274
설정 테이블 만들기 ● 274
정리 ● 281
07장 미디어 ● 283
예제: 파일 형식에 따라 문서 폴더의 내용 보기 ● 283
문서의 위치 찾기 ● 285
이미지를 읽고 보여주기 ● 287
예제: 작은 이미지 보여주기 ● 288
예제: UIWebView를 사용해 이미지 보여주기 ● 291
UIWebView를 이용해 웹 페이지 보여주기 ● 293
예제: 이미지 라이브러리 브라우징 ● 294
예제: 카메라 롤에서 이미지를 선택하고 커스터마이징 ● 298
예제: 아이폰 카메라로 사진 찍기 ● 302
아이폰 오디오 다루기 ● 305
예제: 셀레스티얼을 이용한 오디오 재생 ● 306
예제: 미디어 플레이어를 이용한 오디오와 비디오 재생 ● 309
예제: 오디오 녹음 ● 311
텍스트 데이터 읽기 ● 319
속성 리스트 출력하기 ● 320
백업 파일에서 미디어 복원하기 ● 321
정리 ● 323
08장 컨트롤 ● 325
예제: 간단한 버튼 ● 325
UIButton 클래스 ● 326
커스텀 버튼 ● 328
글래스 버튼 ● 331
예제: 애니메이션 요소로 버튼 꾸미기 ● 332
예제: 버튼에 애니메이션 추가하기 ● 333
예제: 스위치 커스터마이징 ● 335
UIAlertView 버튼 꾸미기 ● 339
예제: 커스텀 슬라이더 썸 이미지 추가 ● 340
슬라이더에 텍스트 추가 ● 344
예제: UITextField 키보드 사라지게 하기 ● 345
예제: UITextView 키보드 사라지게 하기 ● 347
예제: 텍스트 뷰에 취소 버튼 추가 ● 349
예제: 텍스트 기반 HTML 편집기 ● 352
예제: 검색바 ● 356
예제: 콜아웃뷰 추가 ● 358
페이지 표시 컨트롤 추가 ● 361
예제: 툴바 커스터마이징 ● 365
툴바 팁 ● 369
정리 ● 370
09장 사람, 위치, 변화 ● 371
연락처 프레임워크 종류 ● 371
연락처 UI 프레임워크 ● 372
연락처 프레임워크 ● 372
예제: 연락처 이미지 데이터 접근 ● 374
예제: 개인 연락처 정보 보이기 ● 377
예제: 연락처 브라우징 ● 378
이메일 주소만 브라우징하기 ● 381
연락처 추가 ● 381
코어 로케이션 ● 382
코어 로케이션 동작 원리 ● 383
예제: 코어 로케이션 ● 385
예제: 위치 정보를 주소로 변환 ● 390
예제: 코어 로케이션 데이터를 사용한 지도 찾기 ● 393
예제: 코어 디바이스 정보 접근 ● 396
예제: 근접 센서 켜고 끄기 ● 397
예제: 가속도를 사용해 위아래 구별 ● 398
예제: 가속도 센서를 이용해 화면 상 오브젝트 움직이기 ● 400
정리 ● 404
10장 서비스 연결 ● 405
예제: 애플리케이션 설정 추가 ● 405
애플리케이션 설정 ● 406
예제: 커스텀 URL 스킴 등록 ● 411
예제: 네트워크 상태 확인 ● 414
네트워크 연결 상태 확인 ● 414
아이폰 로컬 IP 주소 조회 ● 415
사이트 IP 주소 조회 ● 417
사이트 사용 가능 여부 확인 ● 417
예제: 아이폰 데이터베이스 사용 ● 419
예제: XML을 트리 데이터 구조로 변환 ● 422
예제: 키체인 아이템 저장과 조회 ● 425
키체인에 여러 값 저장 ● 431
키체인 지속성 ● 433
파일 전송과 수신 ● 433
예제: 간단한 웹 서버 만들기 ● 435
푸시 알림 서비스 ● 440
정리 ● 441
11장 커버플로우 만들기 ● 443
UICoverFlowLayer 클래스 ● 443
커버플로우 뷰 만들기 ● 445
커버플로우 뷰 컨트롤러 만들기 ● 448
커버플로우 데이터소스 메소드 ● 450
커버플로우 델리게이트 메소드 ● 450
정리 ● 455
부록 아이폰 개발에 꼭 필요한 오브젝티브C 기초와 메모리 관리 ● 457
출판사 서평
〈 요약 〉
한국어판 특별 부록 수록!
화려하고도 심플한 외관과 그래픽, 사용 경험을 극대화함으로써 이젠 하나의 모바일 기기를 넘어서 사용자 경험의 총체로 자리잡은 아이폰과 아이팟 터치. 복잡하고 불필요한 원리 파악은 잠시 뒤로 미루고, 예제를 중심으로 애플리케이션에 특화된 문제 해결에 집중함으로써 실전 아이폰 애플리케이션 개발 프로젝트에서 필요한 핵심만을 담아 낸 책이다.
〈 소개 〉
아이폰은 매우 특별한 개발 플랫폼이다. 아이폰은 혁신적인 멀티터치 화면, 위치 정보, 내장된 가속도계 등이 어우러져 OS X에 기반을 둔 모바일 컴퓨팅 환경을 제공한다. 애플이 2008년 3월 초, 아이폰 코코아 터치 SDK 베타버전을 공개했을 때 개발자들은 엄청난 SDK의 다운로드로 그들의 관심이 얼마나 열렬한지 보여줬다. 고작 일주일도 안 되는 기간 동안 다운로드 횟수가 십만 건을 넘어섰다. 『예제로 시작하는 아이폰 개발』은 아이폰 개발을 시작하는 개발자들에게 정보를 제공하기 위해 출간됐다.
★ 이 책의 구성 ★
이 책에서는 새로운 시장에 진입하게 되는 대부분 아이폰 개발자들이 직면하는 일반적인 문제들에 대한 해법을 구현한 예제를 제공한다. 인터페이스 요소 배열, 사용자 인터랙션에 대한 응답, 로컬 데이터 소스 접근, 인터넷 연결 등 아이폰 개발자들이 실제로 흔히 접하는 문제들을 찾을 수 있다. 『예제로 시작하는 아이폰 개발』은 실전에서 손쉽게 사용할 수 있는 해답을 제시한다. 개발자들은 자신의 프로젝트에 예제코드를 쉽게 추가하고 필요에 따라 쉽게 수정할 수 있다. 각 장은 관련된 문제들끼리 묶여 있어 개발자들은 문제해결을 위해 어떤 클래스나 프레임워크가 필요한지 완벽히 이해하지 않아도 손쉽게 원하는 답을 찾을 수 있다.
★ 이 책에서 다루는 내용 ★
1장은 아이폰 SDK를 소개하고 아이폰의 플랫폼에서 제공하는 것과 제한되는 것들을 살펴본다. 기본 아이폰 애플리케이션을 자세히 살펴보고, 첫 아이폰 애플리케이션으로 Hello World 스타일의 애플리케이션을 구현해본다.
2장에서는 아이폰 화면 상에 보이는 오브젝트인 뷰를 소개한다. 아이폰 애플리케이션의 골격을 만들기 위해 어떻게 뷰를 생성하고 나열하는지 알아보고, 사용자와 뷰가 터치를 통해 상호작용을 하는 방법과 뷰의 계층구조, 외형, 애니메이션 등을 구현하는 방법을 다룬다.
아이폰의 패러다임을 한 문장으로 정리한다면 ‘작은 화면, 큰 가상 세계’일 것이다. 3장에서는 다양한 UIViewController 클래스를 사용하여 사용자와 상호작용할 가상공간을 확대하고 정렬하는 방법을 알아본다. 또 아이폰 애플리케이션 화면 간 이동에서, 이 강력한 객체가 모든 어려운 일을 처리하는 방법을 살펴본다.
아이폰은 팝업 대화창, 진행바부터 오디오 경고음, 상태바 업데이트까지 다양한 방법으로 사용자의 주의를 환기시킨다. 4장에서는 어떻게 애플리케이션에 이러한 표시기를 구현하고 확장하는지 알아본다.
작고 비좁은 화면에서 매우 효율적으로 작동하는 사용자 인터페이스를 제공하는 테이블. 전부는 아니지만 설정, 유튜브, 증권, 날씨 같은 아이폰과 아이팟 터치의 기본 애플리케이션 대부분이 테이블을 중심으로 구현돼 있다. 5장은 아이폰 테이블이 어떻게 작동하는지, 어떤 테이블들이 개발자에게 제공되는지 그리고 애플리케이션에서 테이블 기능을 어떻게 사용하는지 살펴본다.
아이폰 테이블은 단순한 스크롤 리스트만을 제공하는 것이 아니다. 타이틀이 있는 섹션으로 구성된 테이블을 구현할 수도 있고 복수의 열을 스크롤하는 테이블을 구현할 수도 있다. 또 스위치 같은 컨트롤을 셀에 추가할 수도 있고 셀에 투명한 배경을 사용할 수도 있고 커스텀 폰트를 사용할 수도 있다. 6장은 5장에서 다룬 테이블을 바탕으로 아이폰 애플리케이션 개발에 꼭 필요한 고급 테이블 예제를 소개한다.
아이폰은 다양한 형식의 미디어를 읽고 보여줄 수 있다. 음악이나 영화를 재생할 수 있으며 이미지와 웹 페이지를 처리할 수 있다. PDF 문서도 읽고 사진 앨범을 사용할 수 있다. 7장은 미디어를 애플리케이션에 넣거나 다운로드하고 그 데이터를 아이폰의 멀티터치 인터페이스를 통해 재생하는 방법을 알아본다.
UIControl 클래스는 버튼, 텍스트 필드, 슬라이더, 스위치 등 아이폰의 많은 상호작용 요소들에 기반을 제공한다. 8장은 이와 같은 컨트롤을 살펴보고 컨트롤에 대해 SDK에서 제공하는 사용법과 비공식적인 사용법을 모두 알아본다.
기본 UI 컨트롤과 미디어 컴포넌트들과 함께 아이폰 SDK는 아이폰과 아이폰 터치에 특화된 솔루션을 제공한다. 9장에서는 그 중 가장 유용한 주소록(사람), 코어 로케이션(장소), 센서(사물)에 대해 알아본다.
인터넷에 연결된 디바이스로서 아이폰은 웹 기반 서비스에 매우 적합하다. 애플은 모든 종류의 네트워크 컴퓨팅 서비스와 관련 기술을 지원하는 플랫폼을 제공했다. 아이폰 SDK를 이용해 소켓, 비밀번호 키체인, SQL 접근, XML 프로세싱 등을 구현할 수 있다. 10장은 여기에 필요한 기본 기술들을 알아보고 해결방법을 담은 예제를 다룬다.
커버플로우는 아이폰 SDK에 공식적으로 포함되어 있지는 않지만 아이폰의 사용경험에서 가장 멋지고 아름다운 기능을 제공한다. 커버플로우는 기본 스크롤 리스트와는 비교도 안 될 우아하고 강한 시각적 경험을 제공할 수 있다. 11장은 커버플로우를 소개하고 애플리케이션에서 어떻게 사용하는지 알아본다.
★ 이 책의 대상 ★
이 책은 새롭고도 생소한 SDK를 내려받고 나서 실제 프로젝트를 진행해야 하는 아이폰 개발자를 위한 책이다. 개발자들의 목표와 경험치는 각기 저마다 다르지만 개발 과정에서 풀어야 하는 문제들은 거의 유사하다. “어떻게 테이블을 만들지?”, “어떻게 보안 키체인 엔트리를 생성하지?”, “어떻게 주소록을 검색하지?”, “어떻게 뷰를 바꾸지?”, “어떻게 코어 로케이션을 사용하지?”
『예제로 시작하는 아이폰 개발』은 이렇듯 아이폰 개발을 시작하려는 사람을 겨냥한 책이다. 명확하고 완벽하게 문서화된 예제들을 익힘으로써 개발 속도를 높이고 생산적인 작업이 가능하다. 이미 테스트를 거친 예제들을 통해 독자는 바로 사용 가능한 해결법을 얻을 수 있다. 따라서 누구나 예상할 수 있는 뻔한 답이 아닌 애플리케이션 자체에 특화된 문제해결에 집중할 수 있다.
★ 추천의 글 ★
이 책의 가치는 책 값의 10배를 넘어섭니다. 아이폰 애플리케이션을 개발하고 있다면 이 책은 개발 기간을 몇 주 정도는 너끈히 단축시켜 줄 것입니다. 저자 에리카는 분명하고 명료한 수많은 예제를 통해 필수 아이폰 개발 기술과 애플의 공식 문서를 넘어서는 특별한 효과를 구현하는 방법을 알려줍니다.
- 팀 버크스 / 아이폰 소프트웨어 개발자, 투트스윗(TootSweet) 소프트웨어
에리카의 전문 지식은 애디슨 웨슬리 출판사의 이름에 걸맞습니다. 『예제로 시작하는 아이폰 개발』은 초보자부터 숙련자까지 모두에게 도움이 되는 내용으로 가득합니다. 예제와 스크린샷을 통해 수많은 팁과 트릭을 배울 수 있습니다.
- 재키 쳉 / 아르스 테크니카(Ars Technica) 공동 에디터
우리는 아이폰 애플리케이션 개발 전문 회사지만 아직도 에리카의 남다른 지식과 쉬운 설명 앞에서 초라함을 느낍니다. 그녀의 설명은 즐겁고 편하고 상세합니다. (윈도우 개발자에겐 페졸드 책이 필독서이듯이) 가히 아이폰 개발자의 필독서가 될 게 분명합니다.
- 대니얼 파스코 / 블랙 픽셀 루미넌스(Black Pixel Luminance) CEO 겸 수석 프로그래머
『예제로 시작하는 아이폰 개발』은 아이폰 애플리케이션 개발을 시작할 때 가장 먼저 봐야 하는 책이며 애플 공식 문서의 부족한 부분을 가장 잘 채워주는 책입니다.
- 알렉스 쉐퍼 / 아폴로IM(ApolloIM) 수석 프로그래머, 멜모(MeLLmo) 아이폰 개발 스페셜리스트
에리카의 책은 코코아 터치 개발자가 꼭 읽어야 할 진정한 최고의 리소스입니다. 이 책은 애플 공식 문서를 능가합니다. 이 책에 제시된 많은 개발 방법은 개발자에게 이 엄청난 모바일 플랫폼의 화면 뒤에서 어떤 일이 일어나는지를 생생히 보여줍니다. 이 책을 통해 아이폰 운영체제를 깊이 이해할 수 있습니다.
- 존 조코 / 모바일 디바이스(Mobile Devices) 책임 소프트웨어 엔지니어
★ 저자 서문 ★
아이폰과 아이팟 터치는 수백만 명의 신규 사용자만 끌어 모은 것이 아니다. 이 혁신적인 모바일플랫폼은 내일의 킬러 애플리케이션을 구현할 수많은 개발자를 끌어 모았다. 아이폰 애플리케이션 개발을 시작하다 보면 개발자는 수많은 문제를 만나게 된다. 이 책에서 설명하는 쉽게 사용 가능한 검증된 코드는 개발자의 고민거리를 해결해줄 것이다. 완벽한 문서와 함께 제공되는 커스터마이징이 쉬운 코드를 이용하면 개발이 손쉬워진다. 이제는 늘상 반복되는 뻔한 일에서 벗어나 애플리케이션의 핵심기능 구현에 집중하라.
아이폰 애플리케이션 개발 전문가인 에리카 세든은 먼저 아이폰 플랫폼과 SDK를 살펴보고 개발환경의 설정방법과 아이폰 애플리케이션의 구조를 알려준다. 그 다음 아이폰과 아이팟 터치 애플리케이션 개발 과정 전반에서 발생하는 문제를 해결하는 예제를 제공한다. 그리고 스크롤 리스트를 초라하게 만들 정도로 우아한 시각적 경험을 주는 커버플로우를 어떻게 사용하는지도 알 수 있다.
〈이 책에서 다루는 주요 예제〉
■ 뷰와 테이블 사용법
■ 인터넷과 웹 서비스 연결법
■ 인터페이스 요소 구성
■ 미디어 컨텐츠 사용법
■ 사용자에게 알리고 반응하는 방법
■ 보안 키체인 항목 생성
■ 주소록(사람), 코어 로케이션(위치), 센서 접근법
이 책은 누구나 내용을 손쉽게 찾아볼 수 있도록 구성되어 있다. 관련 내용은 그룹으로 함께 묶었다. 어떤 클래스나 프레임워크를 사용할지 모르는 상태에서도 바로 필요한 답을 얻을 수 있다. 모든 코드는 애플의 공식 아이폰 SDK를 기반으로 한다. 어떤 아이폰 프로젝트를 진행하더라도 이 책은 없어서는 안 될 동료가 되어줄 것이다.
★ 옮긴이의 말 ★
지금도 사람 일은 참으로 알 수 없다는 생각이 듭니다. 2008년 정말 생각지도 않게 미국 애플개발자컨퍼런스에 참여했습니다. 3G 아이폰이 나온다는 루머 아닌 루머가 돌던 때였지만 다음의 동영상 개발팀의 팀장으로 일하고 있었고(물론 지금도 여전합니다) 아이폰이라는 룰 브레이커의 등장으로 모바일 시장에 대한 관심도 많았지만 다음에서 제가 할 부분은 한정적이라는 생각도 있었습니다. 어찌 됐든 뜻하지 않은 행운으로 미국으로 날아가 스티브 잡스를 멀리서나마 직접 봤고 애플 코리아 앤드류 세지웍과 미팅도 했고 우연하게 파퓰러 사이언스의 기자와 인터뷰도 했습니다. 그 이후 짬짬이 아이폰 애플리케이션 개발을 해왔고 어떻게 그게 지금의 tv팟 애플리케이션이 되어 제 또 다른 서비스로 여러분과 만나고 있습니다.
이 책 『예제로 시작하는 아이폰 개발』이 여러분에게 그런 예기치 않은 변화를 가져올 작은 단초가 됐으면 합니다. 물론 모든 분이 WWDC에 참가하면 좋겠지만 이 책도 분명히 훌륭한 전환점이 될 수 있습니다. 이 책은 아주 친절한 책의 범주에는 들지 않습니다. 그렇지만 또 완전히 공략집과 같은 쿡북도 아닙니다. 아이폰 애플리케이션 개발의 모든 면을 다룬다는 점에서는 처음부터 차근차근 읽어가는 입문서와 같고, 고급 또는 문서화되지 않은 수많은 지식을 알려준다는 점에서는 쿡북에 가깝습니다.
그러니 이 책을 공략하는 방법은 간단합니다. 애플이 공식적으로 배포하고 있는 문서들과 함께 이 책의 예제들을 분석하는 것입니다. 그러면 아이폰 애플리케이션 개발에 쉽게 입문하실 수 있을 것입니다. 꼭 읽어야 하는 애플 문서는 오브젝티브C 문서들과 사용자 인터페이스 가이드에 관한 문서들입니다. 그 문서들과 함께 이 책을 공부하신다면 기술적인 부분은 더 이상 문제가 되지 않을 것입니다. 그리고 이 책에서 다루는 수많은 비공식적 방법은 애플리케이션 개발의 새로운 방향을 생각해보는 계기 정도로 생각하셨으면 합니다. 이 책이 처음 쓰여질 때의 앱스토어AppStore의 모호함은 상당 부분 해소가 됐고, 지금은 비공식적 방법을 통한 구현에 대해 상당히 까다로운 기준을 적용하고 있습니다.
번역을 하면서 이 책을 접하실 독자분들에 대해 생각을 많이 했습니다. 어떤 분들이 이 책을 구입해 아이폰 개발에 뛰어들게 될까? 아마도 처음 맥을 접하는 분들도 적지 않을 겁니다. 그리고 열혈 맥 유저이지만 애플리케이션은 만들어 보시지 않은 분도 꽤 있으시겠죠. 그런 여러 독자들을 위해, 우선 이 책에 나온 모든 예제는 독자들이 이해하기 쉽도록 한글화, 현지화해서 대부분 바꿔 넣었습니다. 그 다음은 가장 큰 장애물인 오브젝티브C입니다. 정말 오브젝티브C는 처음에는 넘기 힘든 걸림돌이죠. 그래서 짧고 간략한 오브젝티브C에 대한 기초적인 설명과 메모리 관리 부분을 부록으로 추가했습니다. 처음 맥을 접하시거나 처음 맥에서 개발을 하시는 분들은 부록. 아이폰 개발에 꼭 필요한 오브젝티브C 기초와 메모리 관리부터 읽으시는 편이 좋습니다.
마지막으로 하나 더 염두에 두셨으면 하는 것은 모바일 애플리케이션은 이런 기술이 전부가 아니라는 사실입니다. 어찌 보면 자신이 가지고 있는 컨텐츠가 무엇인지 그리고 그 컨텐츠를 어떻게 사용자에게 제시할 것인지에 대한 고민이 전부고, 기술은 컨텐츠를 실체화하기 위한 도구에 지나지 않습니다. 애플이 너무나 훌륭한 절반의 완성품을 제공하고 있지만 그것을 어떻게 엮을지 그리고 모바일 사용패턴에 적합한지, 학습을 요구하고 있지는 않은지 이러한 실질적인 고민에 프로젝트 전체 기간 중 많은 부분을 투입하셨으면 합니다. - 김동현
어린 시절 눈 덮인 운동장에 나가서 눈사람을 만들어 본 기억이 있습니다. 처음에 손으로 단단한 눈 뭉치를 만들고 눈이 수북이 쌓인 운동장에 굴리면, 점점 커지면서 어느덧 나보다 더 큰 눈사람이 됩니다. 인터넷이 발달한 요즘 새로운 지식을 쌓는 것도 이와 비슷하다고 생각합니다. 인터넷이란 넓은 운동장에 아이폰 개발에 관한 다양한 지식이 있지만, 눈사람을 만들 때처럼 처음에는 단단한 지식 덩어리 하나가 필요합니다. 그 덩어리가 튼튼하면 인터넷에 있는 지식을 볼 때, 쉽게 알고 있는 부분과 더 배워야 하는 부분이 구별돼 쉽게 지식을 늘려갈 수 있습니다.
『예제로 시작하는 아이폰 개발』은 아이폰 애플리케이션을 만드는 데 필요한 골격을 이루는 모든 기술을 다룹니다. 더군다나 아이폰 해킹 애플리케이션 시절부터 개발을 하신 저자 덕분에, 공식 문서에 없는 SDK의 안쪽 모습까지 이야기합니다. 그래서 책을 보고 난 후에, 인터넷에 있는 아이폰 SDK 개발에 관한 내용을 본다면 책의 어떤 부분과 관련되는지 알게 되어 새로운 내용을 쉽게 이해할 수 있을 것입니다. 또 앱스토어 등록을 목표로 애플리케이션을 만들 때 발생하는 문제의 답을 찾는 출발점이 어디일지 알 수 있을 것입니다.
사실 저는 아이폰 SDK 개발에 관한 체계적인 책이나 설명 문서를 미처 다 읽지 못하고 아이폰 개발을 시작했기에 많은 시간을 투자했음에도 얻는 것은 적었습니다. 하지만 책을 번역하면서 투자한 시간이 오히려 아이폰 SDK에 대한 지식을 다시 단단히 다지는 기회가 됐습니다.
다시 말하면 저는 운이 없었던 건지, 애플리케이션을 만들기 위해 눈 덮인 운동장을 발로 휘젓고 난 후에야 겨우 발에 묻은 눈으로 다시 눈 한 덩이를 뭉친 꼴입니다. 그래도 행운인 건 이 책을 번역함으로써 아이폰 SDK 개발에 관심 있는 분들께 도움을 드릴 수 있게 됐다는 사실입니다. - 오형내
기본정보
ISBN | 9788960770751 ( 8960770752 ) | ||
---|---|---|---|
발행(출시)일자 | 2009년 02월 27일 | ||
쪽수 | 484쪽 | ||
총권수 | 1권 | ||
시리즈명 |
에이콘 모바일 프로그래밍 시리즈
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립