The Advanced iOS 6 Developer's Cookbook (Fourth Edition) 한국어판
- 원서명The Advanced iOS 6 Developer's Cookbook (4th Edition) (ISBN 9780321884220)
- 지은이에리카 세든
- 옮긴이동준상, 송용근
- ISBN : 9788960774728
- 45,000원
- 2013년 09월 27일 펴냄 (절판)
- 페이퍼백 | 672쪽 | 188*250mm
- 시리즈 : 모바일 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
iOS 개발서 분야의 대표적인 작가이자 개발자로 명성 높은 에리카 세든의 신작. 웹 개발이나 플랫폼 개발 경험이 있는 사람이라면 누구나 쉽게 활용할 수 있는 예제 코드 중심으로 구성됐으며, 깃허브(GitHub)를 통해 완성된 프로젝트 형식의 예제 코드를 제공한다. 장치 특성을 살린 앱 개발의 주안점부터, 문서/데이터 공유와 지리정보 처리, 푸시 알림 등의 iOS 특장점, 그리고 코어 텍스트, 코어 이미지, 코어 로케이션 등 코어 파운데이션 라이브러리에 대한 깊은 내용을 자세한 샘플 코드와 함께 레퍼런스 형식으로 설명한다. iOS에 대한 깊은 이해를 바탕으로 고급 애플리케이션을 만들고자 하는 개발자에게 필수적인 레퍼런스 가이드가 될 것이다.
[ 이 책에서 다루는 내용 ]
■ iOS에서 제공하는 주요 기능을 완벽하게 활용하기 위한 기기 속성 검증 기법
■ 앱 간의 문서와 데이터 공유 기법과 앱 간의 조종과 통제 기법
■ 코어 텍스트를 이용해서 iOS에서 매력적인 텍스트 구현
■ 베지어 커브, 스플라인 등의 지오메트리 도구를 활용한 터치 기반 앱 개발
■ 사용자 인증, 시스템 키체인, OAuth를 이용해서 안전한 네트워킹 앱 구현
■ 이미지 데이터에 대한 접근과 처리 기법과 필터링 등 특수 효과 구현
■ 실시간 카메라 촬영 영상과 사용자가 촬영한 사진을 앱에서 활용
■ 사용자에게 오디오 서비스와 녹음 등 오디오를 활용하기 위한 상호작용 제공
■ 어드레스북 프레임워크와 GUI 클래스의 효과적인 활용
■ 코어 로케이션과 맵킷을 이용해서 좀 더 향상된 위치 기반 앱 만들기
■ 게임킷과 게임센터를 이용한 기기간 네트워킹 지원, 리더보드 공유, 인터넷 기반 게임 매칭
■ 스토어킷을 이용해서 안심하고 사용할 수 있는 인앱 결제 기능 제공
■ 푸시 노티피케이션을 통해 웹 기반 서비스로 사용자와 소통
[ 이 책의 대상 독자 ]
이 책은 iOS 앱 개발자로 경력을 쌓고 있는 중급 개발자, 타 플랫폼에서 이미 역량을 인정받고 있는 고급 개발자가 차별화된 기술력을 선보이려 할 때 특히 유용하다. 또, 검증된 예제를 이용한 커스터마이징으로 상용 프로젝트의 구현 속도를 높이려는 개발팀과 치열한 경쟁 상황에서 가상의 유료 아이템을 판매하거나 인앱 결제 또는 월간 구독 등 다양한 방식으로 앱을 제공하려는 앱 제작사에게 훌륭한 선택이 될 것이다.
[ 이 책의 구성 ]
이 책은 iOS 개발자가 가장 필요로 하는 데이터 공유, 네트워킹, 카메라와 이미지, 사운드, 주소록, 게임킷, 스토어킷, 푸시 노티피케이션 등에 관한 예제를 제공한다. 각 장은 연관된 주제별로 그룹화한 것이며, 여러분의 문제를 좀 더 신속하게 해결하기 위한 주제로 바로 넘어갈 수 있게 구성했다.
『The Advanced iOS 6 Developer’s Cookbook 한국어판』의 예제는 여러분의 애플리케이션에 ‘복사해서 붙여넣기’가 가능한 코드로 만들었으며, 용도에 따라 예제 코드를 약간 수정해서 재활용할 수 있게 구성했다.
이 책의 장별 주요 내용은 다음과 같다.
1장 ‘기기의 특성을 반영한 개발’ 지금까지 출시된 다양한 iOS 기기는 플랫폼 표준을 일관성 있게 따르면서도 출시 시기의 기술적 특성을 반영한 저마다의 독특한 기능을 제공한다. 이에 따라 애플은 기기의 회전, 모델명, 배터리 상태, 카메라와 센서 등의 내장 장치에 접근하기 위한 다양한 프로퍼티를 제공한다. 1장에서는 기기의 특성을 반영한 앱 개발을 위해 빌드 설정에서부터 내장 센서 활용에 이르기까지 폭 넓은 내용을 다룬다.
2장 ‘문서와 데이터 공유’ iOS를 통해 애플리케이션 간의 정보와 데이터 공유는 물론 하나의 앱으로 다른 앱의 다양한 기능을 조정할 수 있다. 2장에서는 애플리케이션 간의 문서와 데이터 공유 기능을 통합적으로 제공하는 방법을 소개한다. 데이터 공유 기능을 앱에 적용하는 방법과 iOS 생태계의 일원으로서 여러분의 앱을 효과적으로 활용하는 방법을 함께 살펴본다.
3장 ‘코어 텍스트’ 3장에서는 스타일 등 속성이 적용된 문자열을 만드는 방법과 다양한 텍스트 관련 기능을 앱에 적용하는 방법을 알아본다. 앱 개발에서 보편적으로 사용되는 UIKit 요소에 속성이 가미된 문자열을 추가하는 방법, 코어 텍스트를 이용한 뷰 생성법, 그리고 기존의 텍스트 설정을 뛰어넘는 좀 더 강력한 텍스트 활용법을 소개한다. 3장을 통해 iOS에서 제공하는 코어 텍스트의 잠재력을 발견하게 될 것이다.
4장 ‘지오메트리’ UIKit만으로 간단하게 화면을 구성할 수도 있겠지만, 좀 더 사용성 높은 앱을 만들기 위해 베지어 경로를 활용하거나 뷰 전환을 구현하기 위해서는 코어 애니메이션이나 오픈지엘(OpenGL), 그리고 iOS의 기하 요소(이하 지오메트리)에 대한 이해가 필요하다. 클래스나 프로퍼티로 미리 구현해 놓은 뷰의 속성을 바꾸려 할 때 지오메트리에 대한 이해가 필요하며, 이를 바탕으로 지정 경로를 따라 흐르는 문자열을 만들거나 경로를 따라 이동하는 뷰 애니메이션을 만들 수 있다. 4장을 통해 베지어 커브, 컨벡스 헐, 스플라인 등에 대한 이해를 높이고 나면 다른 앱에서는 찾아볼 수 없는 강력한 상호작용 기능을 만들 수 있게 될 것이다.
5장 ‘네트워킹’ 애플은 현존하는 모든 종류의 네트워킹 기법과 지원 기술을 iOS에서 사용할 수 있게 준비해왔다. 이 책의 자매서인 『The Core iOS 6 Developer’s Cookbook 한국어판』에서는 네트워크 상태 확인, 동기적 다운로드나 비동기적 다운로드, JSON, XML 파싱을 소개했는데, 5장에서는 사용자 인증 처리, 시스템 키체인의 활용, OAuth를 이용한 사용자 인증 등의 네트워킹에 대한 좀 더 깊이 있는 내용을 앱에 쉽게 적용할 수 있는 예제와 함께 설명한다.
6장 ‘이미지’ 프로그래밍에서 이미지란 특정한 형상을 이루는 데이터를 저장하는 추상적인 표현 방식이다. 6장에서는 UIImage 클래스를 중심으로 코코아 터치의 이미지 생성에 대해 설명하는 한편, iOS에서의 이미지 처리에 대한 모든 기본적인 노하우를 소개한다. 애플리케이션에 이미지를 불러오고 저장하며 수정하는 방법을 살펴보고, 이미지 데이터에 특수 효과를 적용하는 방법과 바이트 단위로 이미지 데이터에 접근하는 방법도 함께 알아본다.
7장 ‘카메라’ iOS에서 카메라의 활용이야말로 이미지 기술의 정점이라 할 수 있으며, 카메라를 이용해서 애플리케이션에 실시간 영상이나 사용자가 촬영한 사진을 담거나, 현실 세계에서 가져온 이미지 데이터를 활용할 수 있다. 7장에서는 애플이 만든 클래스를 이용해서 사진을 찍는 방법과 사진 촬영과 관련된 클래스를 직접 만드는 방법을 소개하고, 이미지 메타데이터 활용법, 향상된 필터링 기법도 함께 살펴본다. 아울러, 전후방 카메라 변경, LED 플래시 사용, 얼굴 인식 등 iOS 기기에 탑재된 카메라의 관점에서 사진 촬영 기법에 대한 모든 내용을 소개한다.
8장 ‘오디오’ 아이팟의 탁월한 오디오, 비디오 처리 기술을 사용하는 iOS 기기는 그 자체로 완벽한 미디어 장치라 할 수 있으며, iOS SDK는 이와 같은 기술을 활용하기 위한 기법을 제공한다. 오디오 클래스를 통해 오디오 재생, 검색은 물론 녹음까지도 손쉽게 구현할 수 있다. 8장은 오디오 플레이어와 오디오 레코더 등의 사용자와 상호작용할 수 있는 미디어 애플리케이션을 만들기 위한 예제와 함께 아이팟 라이브러리의 뮤직 아이템을 가져오는 방법, 여러 곡을 검색하고 선택하기 위한 오디오 피커 구현 방법을 소개한다.
9장 ‘주소록에 연결’ 9장에서는 연락처별로 사용자 정보에 접근하는 방법과 연락처 정보의 수정 및 갱신 방법, 연락처에 기록된 많은 사용자 가운데 특정 연락처만을 찾기 위한 검색 술어 사용법 등 주소록의 개요와 애플리케이션에서 관련 프레임워크를 사용하는 방법을 소개한다. 또한 개별 연락처의 선택, 보기 등 상호작용과 연락처 수정 등 작업을 위한 GUI 클래스에 대해서도 살펴본다.
10장 ‘위치 서비스’ 컴퓨터로 처리하는 정보 가운데 위치 데이터의 역할은 그 어느 때보다 중요해졌다. iOS 기기는 사용자와 함께 전 세계를 이동하면서 위치 데이터를 처리하며, 코어 로케이션은 이와 같은 위치 기반 기술을 앱에 적용할 수 있게 돕는다. 또한 맵킷을 통해 사용자가 관련 정보를 확인하고 상호작용할 수 있는 지도를 제공한다. 코어 로케이션과 맵킷을 이용하면 친구를 만나거나 특정 위치의 명소를 찾는 데 도움을 줄 수 있고, 다른 사람이 제공한 위치 기반의 유용한 정보를 앱으로 만들어 보여줄 수 있다. 10장은 위치 인식 프레임워크를 소개하고, 이를 iOS 애플리케이션에 적용하는 방법을 보여준다.
11장 ‘게임킷’ GameKit을 이용해서 다수의 사용자가 연결된 게임 플레이 환경을 만드는 방법을 소개한다. GameKit은 게임 센터를 통해 기존의 싱글 플레이어, 싱글 디바이스 체제에서 벗어나 많은 사용자가 네트워크로 연결된 상태에서 게임을 즐길 수 있게 돕는다. 애플의 게임 센터는 리더보드 공유와 인터넷 기반 게임 매칭 시스템 등 게임 플레이를 위한 집약된 서비스를 제공하고, 기기 간 연결(peer-to-peer connectivity)을 위한 애드 혹 네트워킹 기능을 제공한다.
12장 ‘스토어킷’ StoreKit은 애플리케이션에 인앱 결제 시스템을 제공한다. 사용자는 아이튠즈 계정을 통해 앱에서 활용할 수 있는 게임 아이템, 프리미엄 기능 등의 각종 유료 아이템을 구매하고 유료 잡지, 신문 등을 구독할 수 있다. 12장은 스토어킷의 개요를 소개하고 사용자가 손쉽게 사용할 수 있는 구매 방식을 제공하기 위한 StoreKit API의 활용법을 소개한다.
13장 ‘푸시 알림’ 푸시 알림은 앱을 통해 사용자와 직접 소통할 수 있게 해주며, 앱을 통해 미리 정해진 일정에 따라 사용자에게 알림 메시지를 보내는 것과 비슷한 방식으로 웹 기반 메시지를 전달한다. 푸시 알림을 이용해서 경고 메시지 표시, 커스텀 사운드 재생, 애플리케이션 배지 갱신 등을 할 수 있다. 이와 같이 클라이언트가 되는 iOS 기기 외부에서 메시지를 전달함으로써 사용자에게 새로운 데이터나 업데이트에 대해 시기적절하게 알릴 수 있다. 13장은 푸시 알림 구현에 필요한 모든 기본적인 사항을 소개한다.
한국어판 특별부록 ‘iOS 7 SDK의 주요 기능과 전환 전략’ 원서에 없는 내용을 한국어판에 맞춰 추가한 부분으로, 최신 iOS 7에서 추가되거나 변경된 주요 기능을 소개하고, iOS 6에서 iOS 7으로 전환할 때 참고할 수 있는 전환 전략을 소개한다.
[ 이 책에서 다루는 내용 ]
■ iOS에서 제공하는 주요 기능을 완벽하게 활용하기 위한 기기 속성 검증 기법
■ 앱 간의 문서와 데이터 공유 기법과 앱 간의 조종과 통제 기법
■ 코어 텍스트를 이용해서 iOS에서 매력적인 텍스트 구현
■ 베지어 커브, 스플라인 등의 지오메트리 도구를 활용한 터치 기반 앱 개발
■ 사용자 인증, 시스템 키체인, OAuth를 이용해서 안전한 네트워킹 앱 구현
■ 이미지 데이터에 대한 접근과 처리 기법과 필터링 등 특수 효과 구현
■ 실시간 카메라 촬영 영상과 사용자가 촬영한 사진을 앱에서 활용
■ 사용자에게 오디오 서비스와 녹음 등 오디오를 활용하기 위한 상호작용 제공
■ 어드레스북 프레임워크와 GUI 클래스의 효과적인 활용
■ 코어 로케이션과 맵킷을 이용해서 좀 더 향상된 위치 기반 앱 만들기
■ 게임킷과 게임센터를 이용한 기기간 네트워킹 지원, 리더보드 공유, 인터넷 기반 게임 매칭
■ 스토어킷을 이용해서 안심하고 사용할 수 있는 인앱 결제 기능 제공
■ 푸시 노티피케이션을 통해 웹 기반 서비스로 사용자와 소통
[ 이 책의 대상 독자 ]
이 책은 iOS 앱 개발자로 경력을 쌓고 있는 중급 개발자, 타 플랫폼에서 이미 역량을 인정받고 있는 고급 개발자가 차별화된 기술력을 선보이려 할 때 특히 유용하다. 또, 검증된 예제를 이용한 커스터마이징으로 상용 프로젝트의 구현 속도를 높이려는 개발팀과 치열한 경쟁 상황에서 가상의 유료 아이템을 판매하거나 인앱 결제 또는 월간 구독 등 다양한 방식으로 앱을 제공하려는 앱 제작사에게 훌륭한 선택이 될 것이다.
[ 이 책의 구성 ]
이 책은 iOS 개발자가 가장 필요로 하는 데이터 공유, 네트워킹, 카메라와 이미지, 사운드, 주소록, 게임킷, 스토어킷, 푸시 노티피케이션 등에 관한 예제를 제공한다. 각 장은 연관된 주제별로 그룹화한 것이며, 여러분의 문제를 좀 더 신속하게 해결하기 위한 주제로 바로 넘어갈 수 있게 구성했다.
『The Advanced iOS 6 Developer’s Cookbook 한국어판』의 예제는 여러분의 애플리케이션에 ‘복사해서 붙여넣기’가 가능한 코드로 만들었으며, 용도에 따라 예제 코드를 약간 수정해서 재활용할 수 있게 구성했다.
이 책의 장별 주요 내용은 다음과 같다.
1장 ‘기기의 특성을 반영한 개발’ 지금까지 출시된 다양한 iOS 기기는 플랫폼 표준을 일관성 있게 따르면서도 출시 시기의 기술적 특성을 반영한 저마다의 독특한 기능을 제공한다. 이에 따라 애플은 기기의 회전, 모델명, 배터리 상태, 카메라와 센서 등의 내장 장치에 접근하기 위한 다양한 프로퍼티를 제공한다. 1장에서는 기기의 특성을 반영한 앱 개발을 위해 빌드 설정에서부터 내장 센서 활용에 이르기까지 폭 넓은 내용을 다룬다.
2장 ‘문서와 데이터 공유’ iOS를 통해 애플리케이션 간의 정보와 데이터 공유는 물론 하나의 앱으로 다른 앱의 다양한 기능을 조정할 수 있다. 2장에서는 애플리케이션 간의 문서와 데이터 공유 기능을 통합적으로 제공하는 방법을 소개한다. 데이터 공유 기능을 앱에 적용하는 방법과 iOS 생태계의 일원으로서 여러분의 앱을 효과적으로 활용하는 방법을 함께 살펴본다.
3장 ‘코어 텍스트’ 3장에서는 스타일 등 속성이 적용된 문자열을 만드는 방법과 다양한 텍스트 관련 기능을 앱에 적용하는 방법을 알아본다. 앱 개발에서 보편적으로 사용되는 UIKit 요소에 속성이 가미된 문자열을 추가하는 방법, 코어 텍스트를 이용한 뷰 생성법, 그리고 기존의 텍스트 설정을 뛰어넘는 좀 더 강력한 텍스트 활용법을 소개한다. 3장을 통해 iOS에서 제공하는 코어 텍스트의 잠재력을 발견하게 될 것이다.
4장 ‘지오메트리’ UIKit만으로 간단하게 화면을 구성할 수도 있겠지만, 좀 더 사용성 높은 앱을 만들기 위해 베지어 경로를 활용하거나 뷰 전환을 구현하기 위해서는 코어 애니메이션이나 오픈지엘(OpenGL), 그리고 iOS의 기하 요소(이하 지오메트리)에 대한 이해가 필요하다. 클래스나 프로퍼티로 미리 구현해 놓은 뷰의 속성을 바꾸려 할 때 지오메트리에 대한 이해가 필요하며, 이를 바탕으로 지정 경로를 따라 흐르는 문자열을 만들거나 경로를 따라 이동하는 뷰 애니메이션을 만들 수 있다. 4장을 통해 베지어 커브, 컨벡스 헐, 스플라인 등에 대한 이해를 높이고 나면 다른 앱에서는 찾아볼 수 없는 강력한 상호작용 기능을 만들 수 있게 될 것이다.
5장 ‘네트워킹’ 애플은 현존하는 모든 종류의 네트워킹 기법과 지원 기술을 iOS에서 사용할 수 있게 준비해왔다. 이 책의 자매서인 『The Core iOS 6 Developer’s Cookbook 한국어판』에서는 네트워크 상태 확인, 동기적 다운로드나 비동기적 다운로드, JSON, XML 파싱을 소개했는데, 5장에서는 사용자 인증 처리, 시스템 키체인의 활용, OAuth를 이용한 사용자 인증 등의 네트워킹에 대한 좀 더 깊이 있는 내용을 앱에 쉽게 적용할 수 있는 예제와 함께 설명한다.
6장 ‘이미지’ 프로그래밍에서 이미지란 특정한 형상을 이루는 데이터를 저장하는 추상적인 표현 방식이다. 6장에서는 UIImage 클래스를 중심으로 코코아 터치의 이미지 생성에 대해 설명하는 한편, iOS에서의 이미지 처리에 대한 모든 기본적인 노하우를 소개한다. 애플리케이션에 이미지를 불러오고 저장하며 수정하는 방법을 살펴보고, 이미지 데이터에 특수 효과를 적용하는 방법과 바이트 단위로 이미지 데이터에 접근하는 방법도 함께 알아본다.
7장 ‘카메라’ iOS에서 카메라의 활용이야말로 이미지 기술의 정점이라 할 수 있으며, 카메라를 이용해서 애플리케이션에 실시간 영상이나 사용자가 촬영한 사진을 담거나, 현실 세계에서 가져온 이미지 데이터를 활용할 수 있다. 7장에서는 애플이 만든 클래스를 이용해서 사진을 찍는 방법과 사진 촬영과 관련된 클래스를 직접 만드는 방법을 소개하고, 이미지 메타데이터 활용법, 향상된 필터링 기법도 함께 살펴본다. 아울러, 전후방 카메라 변경, LED 플래시 사용, 얼굴 인식 등 iOS 기기에 탑재된 카메라의 관점에서 사진 촬영 기법에 대한 모든 내용을 소개한다.
8장 ‘오디오’ 아이팟의 탁월한 오디오, 비디오 처리 기술을 사용하는 iOS 기기는 그 자체로 완벽한 미디어 장치라 할 수 있으며, iOS SDK는 이와 같은 기술을 활용하기 위한 기법을 제공한다. 오디오 클래스를 통해 오디오 재생, 검색은 물론 녹음까지도 손쉽게 구현할 수 있다. 8장은 오디오 플레이어와 오디오 레코더 등의 사용자와 상호작용할 수 있는 미디어 애플리케이션을 만들기 위한 예제와 함께 아이팟 라이브러리의 뮤직 아이템을 가져오는 방법, 여러 곡을 검색하고 선택하기 위한 오디오 피커 구현 방법을 소개한다.
9장 ‘주소록에 연결’ 9장에서는 연락처별로 사용자 정보에 접근하는 방법과 연락처 정보의 수정 및 갱신 방법, 연락처에 기록된 많은 사용자 가운데 특정 연락처만을 찾기 위한 검색 술어 사용법 등 주소록의 개요와 애플리케이션에서 관련 프레임워크를 사용하는 방법을 소개한다. 또한 개별 연락처의 선택, 보기 등 상호작용과 연락처 수정 등 작업을 위한 GUI 클래스에 대해서도 살펴본다.
10장 ‘위치 서비스’ 컴퓨터로 처리하는 정보 가운데 위치 데이터의 역할은 그 어느 때보다 중요해졌다. iOS 기기는 사용자와 함께 전 세계를 이동하면서 위치 데이터를 처리하며, 코어 로케이션은 이와 같은 위치 기반 기술을 앱에 적용할 수 있게 돕는다. 또한 맵킷을 통해 사용자가 관련 정보를 확인하고 상호작용할 수 있는 지도를 제공한다. 코어 로케이션과 맵킷을 이용하면 친구를 만나거나 특정 위치의 명소를 찾는 데 도움을 줄 수 있고, 다른 사람이 제공한 위치 기반의 유용한 정보를 앱으로 만들어 보여줄 수 있다. 10장은 위치 인식 프레임워크를 소개하고, 이를 iOS 애플리케이션에 적용하는 방법을 보여준다.
11장 ‘게임킷’ GameKit을 이용해서 다수의 사용자가 연결된 게임 플레이 환경을 만드는 방법을 소개한다. GameKit은 게임 센터를 통해 기존의 싱글 플레이어, 싱글 디바이스 체제에서 벗어나 많은 사용자가 네트워크로 연결된 상태에서 게임을 즐길 수 있게 돕는다. 애플의 게임 센터는 리더보드 공유와 인터넷 기반 게임 매칭 시스템 등 게임 플레이를 위한 집약된 서비스를 제공하고, 기기 간 연결(peer-to-peer connectivity)을 위한 애드 혹 네트워킹 기능을 제공한다.
12장 ‘스토어킷’ StoreKit은 애플리케이션에 인앱 결제 시스템을 제공한다. 사용자는 아이튠즈 계정을 통해 앱에서 활용할 수 있는 게임 아이템, 프리미엄 기능 등의 각종 유료 아이템을 구매하고 유료 잡지, 신문 등을 구독할 수 있다. 12장은 스토어킷의 개요를 소개하고 사용자가 손쉽게 사용할 수 있는 구매 방식을 제공하기 위한 StoreKit API의 활용법을 소개한다.
13장 ‘푸시 알림’ 푸시 알림은 앱을 통해 사용자와 직접 소통할 수 있게 해주며, 앱을 통해 미리 정해진 일정에 따라 사용자에게 알림 메시지를 보내는 것과 비슷한 방식으로 웹 기반 메시지를 전달한다. 푸시 알림을 이용해서 경고 메시지 표시, 커스텀 사운드 재생, 애플리케이션 배지 갱신 등을 할 수 있다. 이와 같이 클라이언트가 되는 iOS 기기 외부에서 메시지를 전달함으로써 사용자에게 새로운 데이터나 업데이트에 대해 시기적절하게 알릴 수 있다. 13장은 푸시 알림 구현에 필요한 모든 기본적인 사항을 소개한다.
한국어판 특별부록 ‘iOS 7 SDK의 주요 기능과 전환 전략’ 원서에 없는 내용을 한국어판에 맞춰 추가한 부분으로, 최신 iOS 7에서 추가되거나 변경된 주요 기능을 소개하고, iOS 6에서 iOS 7으로 전환할 때 참고할 수 있는 전환 전략을 소개한다.
목차
목차
- 1장 기기 특성을 반영한 개발
- 기기의 기본 정보에 접근
- 기기의 요구 성능에 따른 설치 허용 기능
- 예제: 기기의 근접 센서와 배터리 상태 확인
- 예제: 기기에 관한 세부 정보 확인
- 예제: 움직임을 확인하기 위한 가속도 센서 활용
- 기본적인 기기 회전의 활용
- 동기적으로 현재 가속도계의 각도 값 가져오기
- 예제: 가속도계를 이용한 화면상의 객체 이동
- 예제: 가속도계에 반응하는 스크롤 뷰
- 예제: 코어 모션의 기초
- 예제: 기기의 자세와 관련된 데이터의 인출과 활용
- 모션 이벤트를 활용한 흔들기 동작 감지
- 예제: 외부 연결 화면의 활용
- 사용자 확인
- 추가 사항: 사용 가능한 디스크 공간 확인
- 정리
- 2장 문서와 데이터 공유
- 예제: UTI의 활용
- 예제: 시스템 페이스트보드의 활용
- 예제: 도큐먼트 폴더의 활용
- 예제: 액티비티 뷰 컨트롤러를 이용한 공유
- 예제: Quick Look 미리 보기 컨트롤러
- 예제: QuickLook 액션 추가
- 예제: 도큐먼트 인터랙션 컨트롤러의 사용
- 예제: 도큐먼트 지원 선언
- 예제: URL 기반의 서비스 만들기
- 정리
- 3장 코어 텍스트
- 코어 텍스트와 iOS
- 속성이 반영된 문자열
- 예제: 기본적인 속성 문자열
- 예제: 수정 가능한 속성 문자열
- 리스폰더 스타일 설정과 문제점
- 예제: 문자열 속성 스택
- 예제: 모조 HTML을 이용한 속성 문자열 생성
- 코어 텍스트를 뷰에 표시
- 텍스트 사이에 이미지 넣기
- 예제: 스크롤 뷰에 코어 텍스트 나타내기
- 예제: 사용 가능한 폰트 목록 작성
- 앱에 커스텀 폰트 적용
- 예제: 코어 텍스트를 페이지 단위로 분리
- 예제: 속성 텍스트로 PDF 문서 작성
- 예제: 커다란 전화 번호 텍스트
- 정리
- 4장 지오메트리
- 예제: 베지어 경로에서 위치 값 가져오기
- 예제: 경로에 있는 점의 수를 줄이기
- 예제: 부드러운 그리기 동작의 구현
- 예제: 제스처 속도에 따라 두께가 다른 선분 그리기
- 예제: 베지어 경로의 경계선 설정
- 예제: 박스 크기에 맞춰 경로 그리기
- 곡선을 이용한 작업
- 예제: 베지어 경로를 따라 객체 이동
- 예제: 베지어 경로를 따라 속성 텍스트 그리기
- 예제: 뷰의 변형
- 예제: 뷰의 겹침, 간섭의 확인
- 정리
- 5장 네트워킹
- 예제: 안전한 사용자 정보 저장
- 예제: 사용자 정보 입력
- 예제: 본인 인증과 관련된 문제점
- 예제: 데이터 업로드
- 예제: 간단한 웹 서버 구축
- 예제: OAuth 유틸리티
- 예제: OAuth 활용 절차
- 정리
- 6장 이미지
- 이미지 소스
- 이미지 데이터 읽기
- 예제: 이미지 크기 조절과 이미지로 채우기
- 예제: 이미지 회전
- 예제: 비트맵 이미지의 활용
- 예제: 기본적인 이미지 처리 기법
- 예제: 이미지 회선
- 예제: 코어 이미지 활용의 기초
- 뷰 기반의 화면 캡처
- PDF 문서에 이미지 그리기
- 예제: 반사 효과
- 예제: 분출 효과
- 정리
- 7장 카메라
- 예제: 사진 촬영
- 예제: 카메라 플래시 사용
- 예제: AVFoundation을 이용한 카메라 활용
- 예제: EXIF
- 이미지 회전
- 예제: 코어 이미지 필터링
- 예제: 코어 이미지를 활용한 얼굴 인식
- 예제: 실시간 촬영 영상 활용
- 정리
- 8장 오디오
- 예제: AVAudioPlayer를 이용한 오디오 재생
- 예제: 오디오 재생 반복 기능
- 예제: 오디오 간섭에 대한 처리
- 예제: 오디오 녹음
- 예제: 오디오 큐를 이용한 녹음
- 예제: MPMediaPickerController를 이용한 오디오 파일 선택
- 미디어 쿼리 작성
- 예제: MPMusicPlayerController 사용
- 정리
- 9장 주소록 연결
- 주소록 프레임워크
- 예제: 주소록 검색
- 예제: 연락처 이미지 데이터
- 예제: 연락처 뽑기
- 예제: 연락처 피커의 표시 항목 제한
- 예제: 연락처의 추가와 삭제
- 개별 연락처 보기와 수정
- 예제: ‘익명’ 연락처 컨트롤러
- 정리
- 10장 위치 서비스
- 코어 로케이션 인증
- 예제: 넛셸에서의 코어 로케이션 활용법
- 예제: 지오펜싱
- 예제: 방향 값으로 ‘북쪽’ 유지
- 예제: 지오코딩과 그 해석
- 예제: 위치 확인
- 예제: 사용자 위치 표시 기록
- 예제: 지도 위치 표시
- 정리
- 11장 게임킷
- 게임 센터
- 예제: 게임 센터 로그인
- 순위판과 달성 목표 디자인
- 예제: 순위판 접속
- 예제: 게임 센터 뷰 컨트롤러
- 예제: 점수 제출
- 예제: 달성 목표 확인
- 예제: 게임 센터에 목표 달성 알리기
- 달성 목표 초기화
- 예제: 멀티플레이 상대 찾기
- 예제: 상대를 찾았을 때 처리
- 예제: 초청 핸들러 작성
- 게임 상태 관리
- 예제: 플레이어 상태 변화 처리
- 예제: 플레이어 이름 가져오기
- 게임 진행
- 데이터 직렬화
- 예제: 데이터 동기화
- 예제: 턴제 대전 게임
- 예제: 턴제 게임의 초청 대응
- 예제: 게임 로드
- 예제: 게임 진행 처리
- 예제: 게임의 종료
- 예제: 게임 제거
- 예제: 게임 센터 대화 기능
- 게임킷 피어 서비스
- 정리
- 12장 스토어킷
- 스토어킷 시작
- 테스트 계정 생성
- 인앱 구매 아이템 생성
- 스토어프론트 GUI 작성
- 아이템 구매
- 영수증 발행
- 정리
- 13장 푸시 알림
- 푸시 알림 도입
- 푸시 프로비저닝 설정
- 애플리케이션 등록
- 예제: 푸시 클라이언트 개요
- 알림 메시지 내용 작성
- 예제: 알림 전송
- 피드백 서비스
- 푸시 서비스 디자인
- 정리
- 한국어판 특별부록 iOS 7 SDK의 주요 기능과 전환 전략
- iOS 7의 주요 기능
- iOS 7의 외형적인 변화
- iOS 7에 새로 추가된 프레임워크
- 강화된 프레임워크
- iOS 7으로의 전환 전략