간편결제, 신용카드 청구할인
PAYCO(페이코) 최대 5,000원 할인
(페이코 신규 회원 및 90일 휴면 회원 한정)
네이버페이 1%
(네이버페이 결제 시 적립)
북피니언 롯데카드 30% (25,200원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (28,800원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (32,400원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (33,480원)
(최대할인 3만원 / 3만원 이상 결제)
Close

iOS 컴포넌트와 프레임워크 실전 프로그래밍 : iOS SDK 고급 기능의 이해와 활용

원제 : iOS Components and Frameworks: Understanding the Advanced Features of the iOS SDK
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 16
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

40,000원

  • 36,000 (10%할인)

    2,000P (5%적립)

할인혜택
적립혜택자동적립
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(55)

  • 사은품(12)

출판사 서평

이 책은 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)를 이용한 메모리 분석을 간단히 살펴본다. 이 장을 학습하고 나면 시뮬레이터와 실제 장치상에서 앱의 문제를 해결하고 디버깅하는 데 필요한 기반 지식을 갖추게 된다.

목차

01장 UIKit 다이내믹스
예제 앱
UIKit 다이내믹스 소개
UIKit 다이내믹스 구현
- 중력
- 충돌
- 붙이기
- 용수철
- 스냅
- 미는 힘
- 다이내믹 객체의 속성
UIDynamicAnimator와 UIDynamicAnimatorDelegate 추가 설명
요약
연습문제

02장 코어 로케이션, 맵키트, 지오펜싱
예제 앱
사용자의 위치 얻기
- 필요한 작업과 허가
- 위치 서비스 이용 가능 여부 확인
- 위치 정보 요청 시작
- 위치 데이터 이해와 파싱
- 위치 변화가 큰 경우 통보
- 특정 위치를 테스트하기 위한 GPX 파일 사용
지도 출력
- 좌표 시스템의 이해
- MKMapKit 설정
- 사용자의 요구 처리
지도상의 주석과 오버레이
- 주석 추가
- 표준 주석 뷰와 커스텀 주석 뷰 출력
- 드래그 가능한 주석 뷰
- 오버레이 다루기
지오코딩과 역 지오코딩
- 주소 지오코딩
- 위치 역 지오코딩
지오펜싱
- 지역 감시 기능 가능 여부 확인
- 경계선 정의
- 감시 상태 변화
방향 정보 얻기
정리
연습문제

03장 순위표
선인장 때려 잡기 게임
- 선인장 생성
- 출력한 선인장 처리
- 생명과 점수 출력
- 중지와 재시작
- 참고사항
아이튠즈 커넥트
게임 센터 관리자
인증
- 인증 과정에서 흔하게 발생하는 에러
- iOS 6 인증
점수 제출
- 선인장 때려 잡기 게임에 점수 기능 추가
- 순위표 출력
- 도전과제
- 순위표 직접 제작
정리
연습문제

04장 목표 달성
아이튠즈 커넥트
목표 달성 진행 상황 표시
게임 센터 관리자와 인증
목표 달성 캐시
목표 달성 보고
목표 달성 훅 추가
완료 배너
목표 달성 도전과제
선인장 때려 잡기 게임에 목표 달성 추가
- 완료한 목표 달성과 완료하지 못한 목표 달성
- 부분적으로 완료한 목표 달성
- 여러 세션에 걸쳐 완료하는 목표 달성
- 서로 연결된 목표 달성과 목표 달성의 정확도 저장
- 타이머 기반의 목표 달성
목표 달성 재시작
목표 달성 인터페이스 자체 제작
정리
연습문제

05장 주소록
주소록 지원 기능이 중요한 이유
주소록 프로그래밍의 제약사항
예제 앱 소개
주소록 시작
- 주소록으로부터 데이터 읽기
- 주소록으로부터 복수의 값을 읽기
- 주소록 레이블의 이해
- 주소 처리
주소록 사용자 인터페이스
- 피플 픽커
- 피플 픽커 상세 설정
- rsonViewController를 이용한 기존 연락처 편집 및 출력
- ABNewPersonViewController를 이용한 새로운 연락처 생성
코드상에서의 연락처 생성
정리
연습문제

06장 음악 라이브러리
예제 앱 소개
재생 엔진 구축
- 재생 알림 등록
- 사용자 인터페이스 컨트롤
- 상태 변화 처리
- 재생 시간과 타이머
- 뒤섞기와 반복 재생
미디어 픽커
프로그래밍 가능한 픽커
- 무작위로 노래를 선곡해 재생하기
- 검색 조건에 맞는 노래 찾기
정리
연습문제

07장 JSON 데이터 파싱과 처리
JSON
- JSON을 사용할 때의 이점
- 더 자세한 JSON 관련 문서 위치
예제 앱 소개
서버 접속
서버로부터 JSON 데이터 수신
- HTTP 요청 생성
- 요청에 대한 응답 검사
- JSON 데이터 파싱
- 데이터 출력
서버에 메시지 올리기
- JSON 인코딩
- JSON 데이터를 서버로 전송
정리
연습문제

08장 아이클라우드
예제 앱
아이클라우드 지원 기능 설정
- 계정 설정
- 아이클라우드 세부 기능 설정
- 아이클라우드 초기화
UIDocument 소개
- UIDocument 하위 클래스 만들기
- UIDocument로 작업하기
아이클라우드와 통신하기
- 아이클라우드에서 문서 리스트 보여주기
- 아이클라우드상에서의 충돌 탐지
충돌 해결
키-값 저장소 동기화
정리
연습문제

09장 알림
내부 알림과 푸시 알림의 차이점
예제 앱
앱 설정
개발용 푸시 SSL 인증서 생성
개발용 프로비저닝 프로파일
사운드 설정
원격 알림 등록
내부 알림 설정
알림 수신
푸시 알림 서버
레일스 기본 설정
접근 장치와 외침 수신 기능 추가
장치를 위한 컨트롤러
Shout 컨트롤러
모두 함께 동작시키기
푸시 알림 전송
APNs 피드백 처리
정리
연습문제

10장 게임 키트를 이용한 블루투스 네트워킹
게임 키트를 이용한 블루투스 네트워킹의 제약사항
게임 키트를 이용한 블루투스 네트워킹의 이점
예제 앱
피어 픽커
데이터 전송
- 데이터 모드
- 예제 앱에서 데이터 전송
데이터 수신
- 예제 앱에서 데이터 수신
상태 변화
고급 기능
- 상대방의 이름
- 피어 픽커 없이 연결
- 세션 모드
정리
연습문제

11장 에어 프린트
에어 프린트 프린터
에어 프린트 테스트하기
텍스트 프린트
- 프린트 정보
- 페이지 범위 설정
- 에러 처리
- 프린트 작업 시작
- 프린트 시뮬레이터 피드백
프린트 센터
- UIPrintInteractionControllerDelegate
출력한 HTML 화면 프린트
PDF 파일 프린트
정리
연습문제

12장 코어 데이터 기초
코어 데이터 사용 여부 결정
코어 데이터 관리 객체
- 관리 객체
- 관리 객체 모델
- 관리 객체 모델 마이그레이션
- 관리 객체 생성
- 객체 인출과 정렬
- 인출 결과 처리 컨트롤러
코어 데이터 실행 환경
- 영구 저장소 관리자
- 영구 저장소
- 관리 객체 컨텍스트
정리

13장 코어 데이터 다루기
예제 앱
코어 데이터 프로젝트 시작
코어 데이터 실행 환경
관리 객체 모델 생성
- 개체 생성
- 속성 추가
- 관계 설정
- 관계 객체 하위 클래스
초기 데이터 설정
- 새로운 관리 객체 삽입
- 기타 기본 데이터 설정 기술
관리 객체 출력
- 인출 요청 객체 생성
- 객체 아이디로 인출
- 관리 객체의 데이터 출력
- 속성 조건 사용
인출 요청의 결과를 처리하는 컨트롤러
인출 결과 처리 컨트롤러 준비
- 테이블 뷰와 인출 결과 처리 컨트롤러의 연동
- 코어 데이터 변경 이벤트 처리
관리 객체 추가, 편집, 제거
- 새로운 관리 객체 삽입
- 관리 객체 제거
- 기존의 관리 객체 편집
- 변경사항 저장/취소
정리
연습문제

14장 오브젝티브C의 고급 기능
리터럴
- 괄호 표현식
ARC
- 새 프로젝트에서 ARC 사용
- 기존의 프로젝트에서 ARC를 사용하도록 변환
- 기본적인 ARC 사용법
- ARC 수식어
블록
- 블록의 선언과 사용
- 블록에서 외부 상태 얻기
- 메소드의 매개변수로 사용하는 블록
- 메모리, 스레드, 블록
프로퍼티
- 프로퍼티 선언
- synthesize 지시자로 접근자 메소드 생성
- 프로퍼티 접근
- 도트 표기
- 빠른 열거
메소드 대체
정리
연습문제

15장 소셜 프레임워크로 트위터, 페이스북 통합하기
소셜 네트워크 통합
예제 앱
로그인
SLComposeViewController 사용
자체 인터페이스를 이용한 포스팅
- 트위터에 포스팅하기
- 페이스북에 포스팅하기
- 페이스북 앱 생성
타임라인 정보 접근
- 트위터
- 페이스북
정리
연습문제

16장 백그라운드 태스크
예제 앱
백그라운드 작업 가능 여부 확인
백그라운드 모드에서의 태스크 완료
- 백그라운드 태스크 아이디
- 만료 처리자
- 백그라운드 태스크 완료
iOS가 지원하는 백그라운드 모드 구현
- 백그라운드 지원 타입
- 백그라운드에서의 음악 재생
정리
연습문제

17장 GCD를 이용한 성능 향상
예제 앱
큐 소개
주 스레드상에서의 태스크 실행
백그라운드에서의 실행
작업 큐에서의 태스크 실행
- 병렬 처리 작업
- 순차적인 작업 큐
- 작업 취소
- 커스텀 작업 큐
디스패치 큐에서의 태스크 실행
- 병렬 디스패치 큐
- 순차적인 디스패치 큐
정리
연습문제

18장 키체인을 이용한 데이터 보호
예제 앱 소개
키체인 설정과 사용
- KeychainItemWrapper 객체 설정
- 핀 정보 저장과 인출
- 키체인 속성 키
- 딕셔너리 객체 저장
- 키체인 항목의 데이터 삭제
- 여러 앱에서 키체인 공유
- 키체인 에러 코드
정리
연습문제

19장 이미지와 필터
예제 앱
기본 이미지 데이터와 출력
- 이미지 객체 생성
- 이미지 출력
- 이미지 픽커 사용
- 이미지 크기 재조정
코어 이미지 필터
- 필터 카테고리와 필터
- 필터 속성
- 이미지 객체 초기화
- 필터링한 이미지 그리기
- 필터 연결
안면 인식
- 안면 인식기 설정
- 안면 특징 처리
정리
연습문제

20장 콜렉션 뷰
예제 앱
콜렉션 뷰 소개
- 콜렉션 뷰 설정
- 콜렉션 뷰 데이터 소스의 메소드 구현
- 콜렉션 뷰 델리게이트 메소드 구현
콜렉션 뷰와 플로우 레이아웃 커스터마이징
- 기본적인 커스터마이징 설정
- 데코레이션 뷰
커스텀 레이아웃 생성
콜렉션 뷰 애니메이션
- 콜렉션 뷰 레이아웃 변경
- 콜렉션 뷰 레이아웃 애니메이션
- 콜렉션 뷰 변경 애니메이션
정리
연습문제

21장 텍스트키트 소개
예제 앱
NSLayoutManager 소개
- NSTextStorage 클래스
동적으로 링크 탐지
선택 탐지
배제 영역
특정 텍스트에 다양한 속성 부여
유동적 글자 크기 조절 기능으로 폰트 설정 변경
정리
연습문제

22장 터치 동작 인식기
터치 동작 인식기 타입
내장 터치 동작 인식기 사용법
예제 앱 소개
- 탭 동작 인식기
- 핀치 동작 인식기
한 뷰에 다수의 인식기 설치
- 터치 동작 인식기: 내부 구조
- 한 뷰에서 다수의 인식기 실행: 다른 방법
터치 동작 인식기 클래스(UIGestureRecognizer)의 하위 클래스 구현
정리
연습문제

23장 사진 라이브러리 접근
예제 앱
에셋 라이브러리
에셋 그룹과 에셋 열거
- 접근 허가
- 에셋 그룹
- 에셋
에셋을 화면에 출력하기
카메라 롤 앨범에 저장하기
사진 스트림 이용
정리
연습문제

24장 패스북 앱과 패스키트
예제 앱
패스 설계
- 패스의 타입
- 패스 레이아웃: 탑승권
- 패스 레이아웃: 쿠폰
- 패스 레이아웃: 이벤트
- 패스 레이아웃: 제네릭
- 패스 레이아웃: 스토어 카드
- 패스 출력
패스 생성
- 패스의 아이디
- 패스 관련 정보
- 바코드 아이디
- 패스의 화면 출력에 관한 정보
- 패스의 각 필드
패스 서명과 패키지화
- 패스 타입 아이디 생성
- 패스 서명 인증서 생성
- 매니페스트 생성
- 패스 서명과 패키지화
- 패스 테스트
- 앱에서 패스로 작업하기
패스 자동 업데이트
정리
연습문제

25장 디버깅과 인스트루먼트
디버깅 소개
- 최초의 컴퓨터 버그
- 엑스코드 디버깅 기초
브레이크 포인트
- 더 자세한 브레이크 포인트 설정
- 심볼릭 브레이크 포인트와 예외 브레이크 포인트
- 브레이크 포인트의 유효 범위
디버거로 작업하기
인스트루먼트
- 인스트루먼트의 인터페이스
- 인스트루먼트 탐구: 시간 프로파일러
- 인스트루먼트 탐구: 릭스
- 기타 인스트루먼트
정리
연습문제

본문중에서

[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) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

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

펼쳐보기
조 킬리(Joe Keeley) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

드래곤 포지드 소프트웨어의 CTO이자 임피리컬 디벨롭먼트의 프로젝트 리더다. 리졸브 앤 슬랜더(Resolve and Slender)에서 일하고 있으며 수많은 고객의 프로젝트를 훌륭하게 이끌어왔다. 애플 II를 처음 접하면서 코딩에 빠져들었으며, 다양한 기술과 시스템에 대해 자신의 커리어를 구축했다. 미국 전역에서 열린 컨퍼런스에서 iOS와 매킨토시에 관한 여러 기술적 주제에 관해 연설했다. 현재는 콜로라도 덴버에서 부인과 두 딸과 함께 살고 있으며 여가 시간에는 다시 펜싱에 몰두하고 있다. 트위터 @jwkeeley로 그와 연락할 수 있다.

생년월일 -
출생지 -
출간도서 0종
판매수 0권

한국과학 기술원 전산학과를 졸업한 후 다수의 회사에서 리눅스, 윈도우 관련 프로젝트 매니저로 일해 왔다. 현재는 프리랜서로 자유롭게 고생(?)하고 있다. 평소 인터페이스 관련 프로그래밍보다는 리눅스 커널이나 네트워크 통신 같은 뒤(?)쪽 작업을 선호하던 성격으로 인해 아이폰이나 아이패드에서 무관심하게 지내던 중 공동역자인 김귀중 씨를 만나면서부터 터치 위주의 인터페이스를 가지는 애플리케이션을 개발하는 경험을 하게 됐다. 현재도 같이 아이폰 프로젝트를 수행하고 있으며 아이패드에 대한 새 프로젝트도 같이 할 예정이다. 개인적으로 애플의 예쁜

펼쳐보기

이 상품의 시리즈

에이콘 모바일 프로그래밍 시리즈(총 65권 / 현재구매 가능도서 56권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용