이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
iOS 컴포넌트와 프레임워크 실전 프로그래밍
iOS SDK 고급 기능의 이해와 활용 페이퍼백
가격
40,000
10 36,000
YES포인트?
2,000원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이 분야의 이벤트

에이콘- 모바일 프로그래밍 시리즈

책소개

목차

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

저자 소개

저자 : 카일 릭터
드래곤 포지드 소프트웨어(Dragon Forged Software)의 설립자로서, 이 회사는 iOS와 매킨토시 개발과 관련한 수상 경력이 있다. 또한 그는 임피리컬 디벨롭먼트(Empirical Development)의 공동 설립자이기도 하다. 임피리컬 디벨롭먼트 사는 iOS 개발 수주를 받아 작업하는 회사다. 1990년대 초반부터 프로그래밍을 시작했으며 매킨토시 플랫폼 전문가로 일해왔다. 몇 권의 iOS 개발 관련 서적을 저술했으며, 다수의 유명 블로그와 웹사이트에 글을 개재해왔다. 카일은 20명 이상의 정규 개발자로 구성된 팀을 관리하며 3개의 개발 회사를 운영하고 있다. 또한 세계를 돌아다니며 개발과 기업가 정신에 관해 연설을 한다. 현재는 키 웨스트(Key West)에 있는 자신의 집에 거주하며 그의 형제 콜리 랜디스와 시간을 보내고 있다. 트위터에서 @kylerichter로 그를 찾을 수 있다.
저자 : 조 킬러
드래곤 포지드 소프트웨어의 CTO이자 임피리컬 디벨롭먼트의 프로젝트 리더다. 리졸브 앤 슬랜더(Resolve and Slender)에서 일하고 있으며 수많은 고객의 프로젝트를 훌륭하게 이끌어왔다. 애플 II를 처음 접하면서 코딩에 빠져들었으며, 다양한 기술과 시스템에 대해 자신의 커리어를 구축했다. 미국 전역에서 열린 컨퍼런스에서 iOS와 매킨토시에 관한 여러 기술적 주제에 관해 연설했다. 현재는 콜로라도 덴버에서 부인과 두 딸과 함께 살고 있으며 여가 시간에는 다시 펜싱에 몰두하고 있다. 트위터 @jwkeeley로 그와 연락할 수 있다.
역자 : 박영훈
한국과학 기술원 전산학과를 졸업한 후 다수의 회사에서 리눅스, 윈도우 관련 프로젝트 매니저로 일해왔다. 현재는 프리랜서로 스마트폰 애플리케이션과 윈도우 애플리케이션 개발, 그리고 이와 연관된 웹사이트 구축 작업을 하고 있다.
번역서로 『엑스코드를 이용한 아이패드 개발 24시간 만에 끝내기』(에이콘출판), 『코드이그나이터 MVC 프로그래밍』(에이콘출판)가 있다.

품목정보

발행일
2014년 05월 30일
쪽수, 무게, 크기
648쪽 | 1282g | 188*250*35mm
ISBN13
9788960775602

출판사 리뷰

★ 이 책에서 다루는 내용 ★

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

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.