코코아 터치 프로그래밍
- 원서명Cocoa Touch for iPhone OS 3 (ISBN 9780470481073)
- 지은이지바 드보
- 옮긴이남기혁, 윤민홍
- ISBN : 9788960771550
- 30,000원
- 2010년 10월 04일 펴냄 (절판)
- 페이퍼백 | 512쪽 | 185*235mm
- 시리즈 : 모바일 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
역동적인 아이폰 앱을 만들어보자
『코코아 터치 프로그래밍』과 함께 아이폰 앱 시장에 뛰어들어보자. 프로 개발자인 지바 드보의 친절한 설명과 함께 코코아 터치 프레임워크와 iOS SDK, 엑스코드, 게임 킷 API를 두루 살펴본다. 단계별로 구성된 예제를 참고해 애플리케이션을 직접 작성하고 서명해 앱스토어를 통한 판매에도 도전해보자. 아이폰 앱 개발에 처음 뛰어든 사람도 이 책의 도움을 받아 멋진 코드를 손쉽게 작성할 수 있다.
[ 이 책에서 다루는 내용 ]
■ 엑스코드, 인터페이스 빌더를 비롯한 다양한 도구 설명
■ 내비게이션과 커스텀 뷰를 사용하는 복잡한 GUI 구성
■ 코어 데이터를 통해 데이터베이스를 만들고, 엑스코드로 직접 스키마 설계
■ 아이폰의 멀티터치 기능을 이용한 애플리케이션 제작 방법
■ 애플 푸시 알림 서비스
■ 맵 킷 API로 맵 임베딩하기
■ 오디오 녹음, 비디오 재생, 아이팟 라이브러리 접근하는 방법
■ 개발 인증서를 받아 애플리케이션에 서명하는 방법
■ 스토어 킷으로 애플리케이션 안에서 부가 기능과 컨텐츠 판매
『코코아 터치 프로그래밍』과 함께 아이폰 앱 시장에 뛰어들어보자. 프로 개발자인 지바 드보의 친절한 설명과 함께 코코아 터치 프레임워크와 iOS SDK, 엑스코드, 게임 킷 API를 두루 살펴본다. 단계별로 구성된 예제를 참고해 애플리케이션을 직접 작성하고 서명해 앱스토어를 통한 판매에도 도전해보자. 아이폰 앱 개발에 처음 뛰어든 사람도 이 책의 도움을 받아 멋진 코드를 손쉽게 작성할 수 있다.
[ 이 책에서 다루는 내용 ]
■ 엑스코드, 인터페이스 빌더를 비롯한 다양한 도구 설명
■ 내비게이션과 커스텀 뷰를 사용하는 복잡한 GUI 구성
■ 코어 데이터를 통해 데이터베이스를 만들고, 엑스코드로 직접 스키마 설계
■ 아이폰의 멀티터치 기능을 이용한 애플리케이션 제작 방법
■ 애플 푸시 알림 서비스
■ 맵 킷 API로 맵 임베딩하기
■ 오디오 녹음, 비디오 재생, 아이팟 라이브러리 접근하는 방법
■ 개발 인증서를 받아 애플리케이션에 서명하는 방법
■ 스토어 킷으로 애플리케이션 안에서 부가 기능과 컨텐츠 판매
목차
목차
- 1부 개요
- 1장 개발 도구 둘러보기
- 엑스코드
- 인터페이스 빌더
- 정리
- 2장 간단한 아이폰 애플리케이션 만들기
- 템플릿을 이용한 프로젝트 생성
- GUI 만들기
- 간단한 UIViewControlle
- 아이폰에서 돌려보기
- 정리
- 3장 시뮬레이터
- 시뮬레이터 UI
- 멀티터치 시뮬레이션
- 코어 로케이션 시뮬레이션
- 시뮬레이터 회전
- 시뮬레이터 파일시스템
- 시뮬레이터와 실제 하드웨어의 차이
- 실제 하드웨어에서 동작하지 않는 API 사용 회피
- 시뮬레이터와 하드웨어의 성능 차이
- 정리
- 시뮬레이터 UI
- 2부 GUI
- 4장 아이폰 UI 기초
- 아이폰 홈 화면
- 시네마틱 UX
- 아이폰 내장 애플리케이션
- 사용자와 UI 사이에 발생하는 상호 작용
- 정리
- 5장 UIViewController
- 기본적인 모델, 뷰, 컨트롤러 디자인 패턴
- UIViewController
- UIViewController의 메소드 오버라이딩
- 뷰 회전 관리
- 메모리 경고 처리
- UIViewController 사용
- 코드 생성
- UIViewController 헤더파일 작성
- UIViewController 구현
- 인터페이스 빌더에 컨트롤러 추가
- UIApplicationDelegate 개요
- 애플리케이션 델리게이트에서 모델 생성
- 윈도우에 뷰 추가
- 정리
- 6장 UITableView
- UITableViewDataSource와 UITableViewDelegate
- UITableView와 NSIndexPath
- UITableViewDataSource
- UITableViewDelegate
- 애플리케이션에 UITableView 추가하기
- UITableViewDataSource 만들기
- 애플리케이션 동작 확인
- 행을 터치해 특정 동작을 수행하게 만들기
- UITableView를 그룹 단위로 구성하기
- 모델에 주 정보 추가하기
- UITableViewDataSource 수정하기
- UITableView의 고급 설정 기능
- 테이블 가장자리에 알파벳 순으로 나열된 인덱스 추가하기
- 검색창 추가하기
- 정리
- UITableViewDataSource와 UITableViewDelegate
- 7장 UITableViewCell
- UITableViewCell
- UITableViewCell에 이미지 추가하기
- UITableViewCell에 대한 고급 커스터마이즈
- 커스텀 셀 제작 시 고려할 성능 문제
- UITableViewCell 재사용
- 재사용 식별자
- 정리
- 8장 UINavigationController 내비게이션 모델
- UINavigationController 모델
- UINavigationController 제작
- UINavigationController 설정
- UIViewController 추가와 제거
- UIToolbar 추가
- 행 편집 기능
- UINavigationController로 MyView 이동
- EditViewController 제작
- 행 편집
- 행 추가
- 행 삭제
- 정리
- 9장 UIApplicationDelegate
- UIApplicationDelegate 존재 이유
- 애플리케이션 시작과 종료
- 애플리케이션 구동 시 호출되는 메소드
- applicationWillTerminate 메소드
- 애플리케이션 동작 중 메시지 수신
- 자원 경고 처리
- 전화 수신과 슬립 상태 처리
- 상태 변화
- 원격 알림 메시지 관리
- 정리
- 10장 커스텀 UIView
- 코코아 터치 뷰 지오메트리
- 프로젝트에 커스텀 뷰 추가하기
- 커스텀 뷰 코드 작성하기
- 코어 그래픽스
- drawRect 작성하기
- 정리
- 11장 터치 이벤트 처리
- 커스텀 UIView에서 멀티터치 처리
- touchesBegan:withEvent: 구현
- 터치정보 NSSet
- touchesMoved:withEvent: 구현
- touchesEnded:withEvent: 구현
- 멀티터치 이벤트 처리
- 터치 이벤트를 처리하도록 커스텀 뷰 예제 업데이트
- 터치를 이용한 원 이동
- 원 크기 조절 기능 추가
- 정리
- 커스텀 UIView에서 멀티터치 처리
- 12장 코코아 터치에서 제공하는 컨트롤
- 코코아 터치에서 제공하는 여러 가지 컨트롤
- UISlider
- 인터페이스 빌더에서 UISlider 설정하기
- UISlider 상태 업데이트하기
- UITabBar
- 인터페이스 빌더에서 UITabBar 설정하기
- UITabBar에 UITabBarItem 추가하기
- UITabBar 고급 기능 설정하기
- UIPickerView
- 인터페이스 빌더에서 UIPickerView 설정하기
- UIPickerViewDataSource 생성하기
- UIPickerView 델리게이트 생성하기
- 정리
- 13장 텍스트 입력 처리
- 인터페이스 빌더를 이용한 키보드 설정
- 대소문자 설정
- 자동 완성 기능 활성화와 해제
- 키보드 종류 설정
- 리턴 키 동작 설정
- 기타 설정
- 코드를 이용한 키보드 설정
- 키보드 표시
- UITextInputTraits
- 키보드 이벤트 처리
- UITextFieldDelegate 생성
- 키보드 표시를 위한 뷰 이동
- 정리
- 인터페이스 빌더를 이용한 키보드 설정
- 14장 코어 애니메이션으로 시네마틱 UI 만들기
- UIView 애니메이션 메소드
- CALayer를 이용한 코어 애니메이션 고급 기능
- UIImageView를 이용한 애니메이션
- 정리
- 15장 OpenGL ES 사용
- 아이폰의 OpenGL ES 기능
- 기본적인 OpenGL 뷰 생성
- 정리
- 16장 사파리 이용하기
- 아이폰 웹 브라우저로 URL 열기
- UIWebView
- 애플리케이션에 UIWebView 추가
- URL 열기
- UIWebViewDelegate 구현
- 애플리케이션 번들에 있는 HTML 로딩하기
- 정리
- 3부 데이터 작업
- 17장 사용자 데이터 저장
- NSUserDefaults 객체 접근
- NSUserDefaults에서 데이터 읽고 쓰기
- 기본 사용자 데이터 설정
- 애플리케이션 설정
- 설정 번들 추가
- 설정 내용 추가
- 정리
- 18장 코어 데이터를 이용한 데이터베이스
- 코어 데이터 기본 구성
- Favorite Cities 예제에 코어 데이터 지원 기능 추가
- 애플리케이션 델리게이트 변경
- Managed Object Model 활용
- CRUD
- 생성
- 읽기
- 업데이트
- 삭제
- Favorite Cities 예제 업데이트
- 코어 데이터 활용 분야
- 코어 데이터 활용에 부적합한 분야
- 정리
- 19장 네트워크로 외부와 통신
- 웹 접근
- 파운데이션 클래스에서 URL 사용
- NSURLRequest와 NSURLConnection 사용
- 메시지 UI 프레임워크를 이용해 애플리케이션에서 이메일 발송
- 코어 파운데이션 소켓
- CFSocket
- CFHost를 이용한 호스트 정보 획득
- CFStream
- 봉주르 탐색
- 봉주르 서비스 탐색
- NSNetService
- 정리
- 웹 접근
- 20장 푸시 알림 서비스
- 푸시 알림 서비스 구조
- 푸시 알림 커뮤니케이션
- 푸시 알림의 보안
- 푸시 알림 메시지용 인증서
- 서버단의 푸시 알림 서비스 개발
- 루비로 작성한 푸시 알림 제공자
- 푸시 알림 메시지 전송
- 피드백을 이용한 전송 확인
- 아이폰 클라이언트에서 푸시 알림 사용
- 알림 메시지 수신 등록
- 애플리케이션에서 알림 메시지 수신
- 정리
- 푸시 알림 서비스 구조
- 21장 게임킷 API
- P2P 연결
- 장치 검색
- 세션 작업
- 게임 내 음성 기능
- 정리
- P2P 연결
- 22장 잘라내기, 복사, 붙여넣기
- 표준 컨트롤에서 복사와 붙여넣기 기능
- 페이스트보드의 종류
- UIPasteboard 사용
- 커스텀 뷰에서 잘라내기, 복사하기, 붙여넣기
- 메뉴 표시를 위한 touchesEnded:withEvent: 구현
- copy: 메소드 구현
- paste: 메소드 구현
- 동작 방식
- 정리
- 23장 지도 API
- MKMapView를 이용한 내장 지도 표시
- MKMapView 생성
- 지도 영역 지정
- 지도 상에 설명 추가
- 설명과 지도 성능과의 관계
- 좌표 변환
- 정리
- MKMapView를 이용한 내장 지도 표시
- 4부 미디어
- 24장 아이폰에서 지원하는 미디어 타입
- 아이폰에서 지원하는 오디오 포맷
- 압축 방식 오디오 포맷
- 비압축 방식 오디오 포맷
- 아이폰에서 지원하는 비디오 포맷
- 정리
- 아이폰에서 지원하는 오디오 포맷
- 25장 오디오 재생
- AV 파운데이션 프레임워크
- AVAudioSession
- AVAudioSessionDelegate
- AVAudioPlayer로 오디오 재생하기
- AVAudioPlayerDelegate
- OpenAL로 오디오 재생하기
- 정리
- AV 파운데이션 프레임워크
- 26장 아이팟 라이브러리 접근
- 미디어 플레이어 프레임워크 작업
- 미디어 라이브러리 접근
- MPMediaPickerController를 이용하는 방법
- 미디어 검색
- 플레이어 컨트롤러
- 미디어 표지
- 정리
- 27장 오디오 녹음
- AVAudionSession 설정
- AVAudioRecorder 생성
- 음성 녹음기 생성
- 정리
- 28장 애플리케이션에서 비디오 재생
- 애플리케이션 번들에 포함된 비디오 파일 재생
- 인터넷을 통한 비디오 재생
- 정리
- 5부 아이폰 하드웨어 다루기
- 29장 디바이스
- 정보 가져오기
- 배터리 상태 확인
- 접근 센서
- 디바이스 메타데이타
- 정리
- 현재 위치 알아내기
- CLLocationManager 할당하기
- 델리게이트 설정
- CLLocationManagerDelegate 프로토콜 구현
- 위치 업데이트 시작과 중단
- 구글 맵에 위치 표시하기
- 좌표 오차 줄이기
- 위치 정보 필터링
- 완성된 예제 코드
- 아이폰 3GS의 나침반 기능
- 정리
- 현재 방향 알아내기
- 기포 수준기 만들기
- UIAcceleration 오브젝트
- 쉐이크 이벤트
- 쉐이크 이벤트 검출
- drawRect
- motionBegan과 motionEnded 작성하기
- 모션 이벤트 취소하기
- 정리
- 아이폰에 연결할 주변장치 생성하기
- EAAccessoryManager로 현재 연결된 주변장치 찾기
- EAAccessor 클래스
- EASession
- NSStream으로 디바이스와 통신하기
- 정리
- 개발 인증서 받기
- 프로비저닝 프로세스
- 개발, 배포, 애드혹 프로비저닝
- 프로비저닝 프로파일 설치
- 서명한 애플리케이션의 동작
- 서명할 애플리케이션 설정하기
- 애드혹 빌드
- 엑스코드에서 빌드 설정하기
- 사용자에게 배포하기
- 정리
- 판매할 수 있는 상품의 종류
- 잠금 해제 컨텐츠
- 아이튠즈 커넥트에 구매 가능한 컨텐츠 준비
- 스토어 킷 작업
- 컨텐츠 구매 기능 활성화 검사
- 스토어 표시
- 상품 구매
- 과금 처리
- 트랜잭션 유효성 검사
- 컨텐츠 잠금 해제
- 구매한 컨텐츠 복구
- 애플리케이션 내 구매 테스트
도서 오류 신고
정오표
[ p8 '옮긴이의 말' 마지막 행 ]
http://www.aconrpub.co.kr/book/cocoatouch → http://www.acornpub.co.kr/book/cocoatouch
http://www.aconrpub.co.kr/book/cocoatouch → http://www.acornpub.co.kr/book/cocoatouch