장바구니 담기 close

장바구니에 상품을 담았습니다.

iOS 컴포넌트와 프레임워크 실전 프로그래밍

iOS 컴포넌트와 프레임워크 실전 프로그래밍

  • 카일 릭터
  • |
  • 에이콘출판
  • |
  • 2014-05-30 출간
  • |
  • 647페이지
  • |
  • 188 X 250 X 15 mm /142g
  • |
  • ISBN 9788960775602
판매가

40,000원

즉시할인가

36,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
36,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

★ 요약 ★

이 책은 iOS 개발 시 필요한 핵심 프레임워크에 대한 자세한 설명과 그 프레임워크를 이용해 실제 개발에 이용할 수 있는 예제들을 제공한다. 기존의 프레임워크는 물론 UIKit 다이내믹스나 텍스트키트, 패스북 등 iOS 6과 7에서 새롭게 도입된 프레임워크와 기능을 자세히 소개한다. 책에 있는 고급 예제를 따라 하다 보면, 실제 배포할 수 있는 수준의 앱을 개발하는 데 필요한 기술과 사용법을 자연스럽게 익힐 수 있다.

★ 이 책에서 다루는 내용 ★

■ UIKit 다이내믹스가 제공하는 새로운 물리적인 애니메이션 효과
■ 코어 로케이션, 맵키트(MapKit), 지오펜싱(Geofencing) 활용
■ 게임 센터의 순위표, 목표 달성 기능 활용
■ 앱에서 사용자의 주소록과 미디어 라이브러리에 접근하는 방법
■ JSON을 이용해 서버, 앱, 웹사이트 간에 데이터 주고받기
■ 아이클라우드(iCloud)의 UIDocument와 키-값 저장소 동기화 기능을 앱에 통합하기
■ 키체인(Keychain)을 이용한 사용자 데이터 보호
■ 앱 관련 이벤트를 사용자에게 전달하기 위한 알림 기능 사용
■ 코어 데이터로 지속적인 데이터를 장치상에 저장, 인출하기
■ 간결하면서도 효율적인 메모리 관리를 위한 오브젝티브C 고급 기능 사용
■ GCD를 병렬 처리에 적용해 앱의 성능을 향상시키는 방법
■ 텍스트키트(TextKit)를 이용한 고급 텍스트 처리 기능 구현
■ 화면상에서 발생하는 복잡한 터치 동작을 자연스럽게 처리하는 방법
■ 엑스코드(Xcode) 5의 디버거와 인스트루먼트(Instrument)를 이용한 효과적인 디버깅 기술
■ 패스북(Passbook)과 패스키트(PassKit)를 이용한 패스 시스템 구축

★ 이 책의 대상 독자★

책의 모든 예제와 설명을 최대한 간단하고 이해하기 쉽도록 노력을 기울였다. 하지만 이 책은 중급에서 고급 수준 사이에 있는 책이다. 이 책을 제대로 이해하고 사용하기 위해서는 iOS 개발 과정, 오브젝티브C와 C 언어에 대한 기본적인 지식이 있어야 한다. 또한 엑스코드, 애플 개발자 포탈, 아이튠즈 커넥트(iTunes Connect), 인스트루먼트(Instruments)와 친숙해야 한다.

★ 이 책의 구성 ★

1장 UIKit 다이내믹스: iOS 7에서는 UIView 객체에 실제 물리적인 효과와 동작을 줄 수 있도록 UIKit Dynamics를 도입했다. 표준 객체에 동적인 애니메이션, 물리적인 속성과 동작을 추가하는 방법을 배운다. 중력 효과부터 프로퍼티(property)까지 모두 7가지 타입의 동작을 설명한다.

2장 코어 로케이션, 맵키트, 지오펜싱: 애플은 iOS 6에서 자체적인 지도와 지도 데이터를 제공하기 시작했다. 이 장에서는 장치의 위치를 결정하고, 앱상에서 지도를 표시하며, 지도와 함께 주석(annotation), 오버레이(overlay), 말풍선(callout)을 표시하기 위해 코어 로케이션을 사용하는 방법을 배운다. 또한 앱이 특정 지역에 진입하거나 떠날 경우 사용자에게 알릴 수 있도록 지역을 모니터링(지오펜싱(Geofencing))을 하는 방법도 다룬다.

3장 순위표: 게임 센터의 순위표는 iOS용 게임이나 앱에 다른 사용자와 교류할 수 있는 기능을 제공한다. 이 장에서는 선인장 때려 잡기(Whack-a-Cac)라는 아이패드용 게임을 통해 어떻게 순위표 지원 기능을 추가할 수 있는지 설명한다. 게임 센터 순위표 구현에 필요한 모든 절차를 배우며, 또한 자신만의 별도의 인터페이스상에서 순위표를 구현하는 기본적인 방법도 배운다.

4장 목표 달성: 이 장에서는 3장의 선인장 때려 잡기 게임을 계속 이용한다. 이 아이패드용 게임에서 어떻게 게임 센터의 달성 목표를 구현하는지를 배운다. 아이튠즈 커넥트(iTunes Connect) 작업부터 달성 목표 진행 현황을 표시하는 방법까지 달성 목표를 구현하는 데 필요한 모든 정보를 제공한다.

5장 주소록: 사용자 연락 정보를 통합하는 작업은 최근 프로젝트에서 필수적인 부분이 됐다. 주소록(AddressBook) 프레임워크는 iOS상에서 가장 오래된 프레임워크 중 하나다. 이 장에서는 이 프레임워크를 사용하는 방법을 배운다. 피플 픽커(people picker)를 사용하는 방법, 주소록 데이터 접근 방법, 주소록 데이터를 수정, 저장하는 방법 등을 배운다.

6장 음악 라이브러리: 이 장에서는 앱상에서 사용자가 보유한 음악 정보에 접근하는 방법을 다룬다. 또한 이 음악 정보를 보는 방법과 이 음악 리스트에서 음악을 선택해 실행하는 방법을 배운다.

7장 JSON 데이터 파싱과 처리: JSON(JavaScript Object Notation)은 각기 다른 플랫폼 사이에 간편하게 데이터를 주고받을 수 있는 데이터 포맷을 제공한다. 이런 이유로 iOS 클라이언트 앱과 서버 간에 복잡한 데이터를 주고받을 때도 많이 사용하고 있다. 이 장에서는 기존의 객체로부터 JSON 데이터를 생성하는 방법과 JSON 데이터를 파싱해 iOS 객체에 넣는 방법을 설명한다.

8장 아이클라우드: 이 장은 아이클라우드(iCloud) 사용 방법을 설명한다. 아이클라우드는 여러 iOS 장치 간에 키-값 저장소와 문서를 동기화하는 데 사용한다. 아이클라우드 사용을 위해 앱을 설정하는 방법을 설명하고 키-값 저장소와 문서 접근을 구현하는 방법, 충돌을 인지하고 해결하는 방법을 배운다.

9장 알림: iOS는 두 가지 타입의 알림을 지원한다. 내부 알림(local notification)은 네트워크 연결이 필요 없이 한 장치상에서 동작하고, 원격 알림(remote notification)은 특정 서버가 네트워크 연결을 통해 애플의 푸시 알림 서비스(Push Notification Service)를 이용하여 장치에게 푸시 알림를 보내는 데 사용한다. 이 장에서는 이 두 가지 타입의 차이점을 설명하고 앱상에서 이 알림들을 설정하고 알림을 얻는 방법을 설명한다.

10장 게임 키트를 이용한 블루투스 네트워킹: 이 장에서는 블루투스 기반의 실시간 채팅 클라이언트를 생성하는 방법을 설명하고 블루투스 통신 가능 영역에 있는 친구를 연결해 문자를 주고받는 기능을 구현한다. 채팅 상대를 찾는 기능부터 데이터를 전송하는 기능까지 게임 키트에 있는 블루투스 기능을 사용하는 여러 방법을 배운다.

11장 에어 프린트: 에어프린트(AirPrint)는 실제보다 그 유용한 가치를 인정받지 못하는 기능 중 하나다. 에어프린트를 이용해 무선 통신이 가능한 에어프린트용 프린터로 문서와 미디어를 인쇄할 수 있다. 여러분의 앱에 에어프린트 지원 기능을 빠르고 손쉽게 추가하는 방법을 배운다. 이 장을 끝마칠 무렵이면 사용자로 하여금 여러분의 앱에서 뷰 화면, 이미지, PDF 파일, 심지어는 렌더링한 HTML 페이지 화면까지 프린트하게 할 수 있다.

12장 코어 데이터 기초: 코어 데이터(Core Data)는 매우 방대한 주제다. 이 장에서는 초심자에 맞추어 코어 데이터를 설명하고 언제 코어 데이터를 쓰는 게 적당하고 언제 쓰지 않아야 하는지 설명한다. 또한 단순한 용어를 사용해 코어 데이터의 기본 개념을 설명한다.

13장 코어 데이터 다루기: 이 장은 코어 데이터 사용을 위해 앱을 설정하는 방법과 코어 데이터 모델 설정 방법, 가장 흔하게 사용하는 코어 데이터의 기능을 구현하는 방법 등을 설명한다. 만약 여러분이 방대한 코어 데이터 서적을 펴들고 헤매고 싶지 않다면 이 장을 학습해야 한다.

14장 오브젝티브C의 고급 기능: iOS가 출시된 이후로 오브젝티브C는 계속 진화해왔다. 이 장은 언어와 컴파일러 수준에서 오브젝티브C에 일어난 변화를 설명한다. 또한 개발자가 왜 이런 변화를 사용해야 하는지 설명한다. 숫자, 배열, 딕셔너리 등에 적용할 새로운 문법을 설명하고, 또한 블록, ARC, 프로퍼티 선언 등에 대해 설명하며, 도트 표기법(dot notation), 빠른 열거(fast enumeration), 메소드 스위즐링(method swizzling)같이 새로운 기능은 아니지만 여전히 유용한 기능에 대해서도 다룬다.

15장 소셜 프레임워크로 트위터, 페이스북 통합하기: 소셜 네트워크 통합은 컴퓨팅의 미래로 수많은 앱이 이런 소셜 네트워크 기능을 기본으로 내장하고 있다. 이 장에서는 소셜(Social) 프레임워크를 사용해 페이스북과 트위터 지원 기능을 여러분의 앱에 추가하는 방법을 배운다. 트위터와 페이스북에 글을 올리기 위해 내장 컴포저(composer)를 사용하는 방법을 배우며, 두 서비스로부터 피드(feed) 정보를 가져오는 방법, 가져온 정보를 파싱해 처리하는 방법 등을 배운다. 마지막으로, 커스텀 인터페이스상에서 메시지를 보낼 때 프레임워크를 사용하는 방법을 배운다. 이 장을 끝낼 무렵이면 여러분의 앱에 트위터나 페이스북 같은 소셜 네트워크 지원 기능을 추가할 수 있을 뿐만 아니라 소셜 프레임워크에 대한 강력한 지식 기반을 갖추게 된다.

16장 백그라운드 태스크: iOS 4에서 도입한 새로고 강력한 기능 중 하나가 바로 앱이 전면부(foreground)에서 실행 중이 아닐 때도 작업을 수행할 수 있는 백그라운드 작업 기능이었다. 애플은 그 후로도 이에 더 많은 기능을 추가해왔다. 이 장에서는 앱이 전면부에서 백그라운드로 이동한 후 태스크를 수행하는 방법을 설명한다. 또한 iOS가 허용하는 백그라운드 타입을 실행하는 방법을 설명한다.

17장 GCD를 이용한 성능 향상: 리소스를 주 스레드에서만 집중적으로 사용하면 앱의 실행 속도가 느려지고 성능이 저하된다. 이 장에서는 GCD가 제공하는 여러 기술을 사용해 주 스레드의 성능 저하 없이 힘들고 복잡한 작업을 병렬적으로 처리하는 방법을 설명한다.

18장 키체인을 이용한 데이터 보호: 데이터 보호는 매우 중요하지만 앱 개발 시 자주 간과하는 부분이다. 큰 회사에서조차도 몇 년 동안 사용자의 신용카드 정보나 비밀번호를 평이한 텍스트 파일에 보관해 뉴스상에서 화제가 된 적이 있다. 이 장에서는 데이터 보호를 위해 키체인(Keychain)을 사용하는 방법과 개발 전체 과정과 관련한 보안 문제에 대한 기초적인 정보를 설명한다. 이 장을 끝내고 나면 키체인을 이용해 사용자가 자신의 데이터를 장치상에서 안심하고 사용하게 할 수 있다.

19장 이미지와 필터: 이 장에서는 기초적인 이미지 처리 기술을 배운다. 그런 후 이미지에 필터를 적용하기 위해 몇 가지 코어 이미지(Core Image) 관련 고급 기술을 살펴본다. 예제 앱은 코어 이미지의 기능을 이용해 실시간으로 필터를 연쇄적으로 연결할 수 있는 방법을 제공한다.

20장 콜렉션 뷰: 콜렉션 뷰는 iOS 6에서 새롭게 도입됐다. 이 콜렉션 뷰는 스크롤이 가능한 셀 기반의 컨텐츠를 배치하는 데 사용하는 강력한 API다. 콜렉션 뷰는 새로운 레이아웃 옵션 외에도 컨텐츠에 애니메이션 효과를 콜렉션 뷰의 내부, 외부에서 줄 수 있으며, 다른 컬렉션 뷰 레이아웃으로 전환할 수도 있다. 예제 앱은 콜렉션 뷰를 설정하는 기본적인 방법, 좀 더 특화된 레이아웃을 가진 콜렉션 뷰를 만드는 방법, 단선적인 틀에서 벗어난 콜렉션 뷰 레이아웃을 설정하는 방법을 보여준다.

21장 텍스트키트 소개: iOS 7에서는 기존의 코어 텍스트(Core Text)를 더욱 확장하면서도 더 사용하기 쉬운 텍스트키트(TextKit)를 도입했다. 텍스트키트는 개발자가 자신의 앱에 좀 더 풍부하고 다양한 텍스트 입력 양식을 사용할 수 있게 해준다. 텍스트키트는 굉장히 방대한 주제로, 이 장에서는 이미지상에서 텍스트 줄바꿈 기능 추가에서부터 커스텀 폰트 속성까지, 앱에서 흔히 필요로 하는 기능을 구현하는 데 필요한 기본 지식을 설명한다. 이 장을 끝내고 나면 독자는 텍스트키트에 대한 튼튼한 배경 지식을 갖추게 되며, 더 깊이 있는 학습과 작업을 위한 기초를 다질 수 있다.

22장 터치 동작 인식기: 이 장에서는 앱에서 터치 동작 인식기를 이용하는 방법을 설명한다. 터치 데이터를 직접 해석, 처리하는 대신 터치 동작 인식기를 이용해 간단하면서도 깔끔하게 동작을 인식하고 처리할 수 있다. 또한 자신만의 터치 동작을 정의해 이를 인식하는 터치 동작 인식기를 구현할 수도 있다.

23장 사진 라이브러리 접근: 아이폰은 이제 매우 인기 있는 카메라이기도 하다. 플리커(Flickr.com) 같은 사진 공유 사이트에 사람들이 아이폰으로 찍어서 업로드하는 사진의 숫자가 이를 증명한다. 이 장에서는 사용자의 포토 라이브러리에 접근해 사진과 비디오를 얻어 앱상에서 처리하는 방법을 설명한다. 예제 앱은 iOS 6의 사진 앱을 재구축하는 작업을 구현한다.

24장 패스북 앱과 패스키트: 애플은 iOS 6에서 패스북(Passbook) 앱을 도입했다. 패스북은 비행기 티켓, 쿠폰, 로열티 카드(loyalty card), 콘서트 티켓 같은 패스(pass)를 저장하는 앱이다. 이 장에서는 패스 설정 방법, 생성 방법, 배포 방법을 배우며 또한 어떻게 앱에서 패스를 다루는지 보여준다.

25장 디버깅과 인스트루먼트: 개발 시 가장 중요한 측면 중의 하나가 디버깅과 소프트웨어 프로파일링, 즉 성능 파악이다. 많은 책이 이 주제를 잘 다루지 않는다. 이 장에서는 엑스코드(Xcode)상의 디버깅에 대한 기본 지식과 인스트루먼트(Instrument)를 이용한 성능 분석 방법을 보여준다. 컴퓨터의 버그 출현에 관한 간단한 역사를 소개하고 난 후 공통적인 디버깅 요령과 방법을 보여준다. 또한 브레이크 포인트와 기타 디버거 명령어를 간단히 다룬 후 시간 프로파일러(Time Profiler)를 이용한 앱 성능 분석과 릭스(Leaks)를 이용한 메모리 분석을 간단히 살펴본다. 이 장을 학습하고 나면 시뮬레이터와 실제 장치상에서 앱의 문제를 해결하고 디버깅하는 데 필요한 기반 지식을 갖추게 된다.

★ 지은이의 말 ★

『iOS 컴포넌트와 프레임워크 실전 프로그래밍』을 구매하신 독자 여러분을 환영한다!
수많은 ‘iOS 시작하기’ 류의 책이 서점에 이미 출간되어 있고, 코어 데이터(Core Data)나 보안 같은 특정 주제에 관한 고급 서적 또한 많이 존재한다. 하지만 초보자가 이런 고급 주제를 다루기 전에 필요한 중간 단계의 서적은 그다지 찾기 쉽지 않다.

이 책의 목표는 책으로 따로 쓰기는 힘든, 중급에서 고급 수준에 이르는 주제에 관한 개발 정보 제공이다. 이는 이런 주제들이 흥미롭지 않거나 별 영향력이 없다기보다는 자세히 다룰 만큼 커다란 주제는 아니기 때문이다. 그 예로 사진 라이브러리에 접근하기 위해 JSON을 이용하는 작업을 들 수 있다. iOS 개발자들은 항상 이런 프레임워크를 사용하기는 하지만 그에 관해 다루는 책을 찾기는 쉽지 않다.

몇 가지 고급 주제는 대부분의 개발자가 단순히 관련 개발을 시작할 수 있을 정도로만 다뤘다. 500페이지에 이르는 코어 데이터 전문 서적을 접하면 먼저 기가 질리게 된다. 이 책의 13장에서는 코어 데이터를 시작할 수 있는 빠르고 쉬운 방법을 설명한다. 또한 디버깅과 인스트루먼트, 텍스트키트(TextKit), 오브젝티브C의 고급 기능, 아이클라우드(iCloud)에 대해서도 소개한다.

게임 센터(Game Center)의 순위표, 목표 달성, 에어 프린트(AirPrint), 음악 라이브러리, 주소록, Passbook에 대해서도 충분히 다룬다. 여러분이 이제 막 첫 프로젝트를 끝낸 초보자든 혹은 경험 많은 개발자든 어떤 경우에도 이 책에서 도움을 얻을 수 있다.

독자 여러분이 제안사항이나, 버그 수정, 오타 등, 다음 개정판에 기여할 수 있는 어떤 내용이든 갖고 있다면 icf@dragonforged.com을 통해 연락하기 바란다. 나는 이 책을 더 발전시킬 수 있는 어떤 내용이든 환영하며, 진실로 좀 더 나은 책으로 만들기를 원한다.

★ 옮긴이의 말 ★

이 책은 iOS 6, 7의 핵심적인 프레임워크와 새로운 오브젝티브C의 고급 기능에 대해 설명한다. 새로운 물리 엔진인 UIKit 다이내믹스(Dynamics), 새로운 게임 센터 관리자, 새로운 콜렉션 뷰의 기능, 텍스트키트(TextKit), 패스북 등 iOS 6, 7에서 새롭게 도입됐거나 업그레이드된 기능과 더불어 기존의 주요 프레임워크들의 기능과 사용법을 유용한 예제와 함께 상세하게 설명하고 있다. 각 프레임워크마다 실제적인 애플리케이션에서 사용할 만한 예제들을 실어 놓아서 이를 시작점으로 자신이 만들려는 애플리케이션의 뼈대를 잡을 수 있다.

이 책은 이미 iOS 개발에 어느 정도 경험이 있는 개발자를 대상으로 하며, 중급에서 고급 수준으로 가려는 개발자에게 가장 알맞은 책이다. 하지만 iOS 기반 제품을 대상으로 앱을 제작하려는 사람이라면 이 책을 항상 참고서로 이용할 수 있으리라 생각한다.

기억력도 나쁜 데다 수준도 중급도 안 되는 옮긴이도 이 책을 번역하면서 오랫동안 iOS 개발 시 참고서로 사용해야겠다는 생각이 들었다. 모쪼록 이 책이 여러분의 iOS 앱 개발에 동반자가 되기를 기원한다.

저자소개

저자 카일 릭터(Kyle Richter)는 드래곤 포지드 소프트웨어(Dragon Forged Software)의 설립자로서, 이 회사는 iOS와 매킨토시 개발과 관련한 수상 경력이 있다. 또한 그는 임피리컬 디벨롭먼트(Empirical Development)의 공동 설립자이기도 하다. 임피리컬 디벨롭먼트 사는 iOS 개발 수주를 받아 작업하는 회사다. 1990년대 초반부터 프로그래밍을 시작했으며 매킨토시 플랫폼 전문가로 일해왔다. 몇 권의 iOS 개발 관련 서적을 저술했으며, 다수의 유명 블로그와 웹사이트에 글을 개재해왔다. 카일은 20명 이상의 정규 개발자로 구성된 팀을 관리하며 3개의 개발 회사를 운영하고 있다. 또한 세계를 돌아다니며 개발과 기업가 정신에 관해 연설을 한다. 현재는 키 웨스트(Key West)에 있는 자신의 집에 거주하며 그의 형제 콜리 랜디스와 시간을 보내고 있다.

도서소개

『iOS 컴포넌트와 프레임워크 실전 프로그래밍』는 iOS 개발 시 필요한 핵심 프레임워크에 대한 자세한 설명과 그 프레임워크를 이용해 실제 개발에 이용할 수 있는 예제를 제공하고 있다. 책에 있는 고급 예제를 따라 하다 보면, 실제 배포할 수 있는 수준의 앱을 개발하는 데 필요한 기술과 사용법을 자연스럽게 익힐 수 있다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.