iphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edi

Similar documents
iphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edi

iOS ÇÁ·Î±×·¡¹Ö 1205.PDF

13Åë°è¹é¼Ł



<BEC6BFF4BCD2BDCCBAB8B0EDBCAD28C3D6C1BE E687770>

ios 7 App Development Essentials Korean Translation Copyright c 2014 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth thro

°æÁ¦Àü¸Á-µ¼º¸.PDF

untitled

<BFDCB1B9C0CE20C5F5C0DAB1E2BEF7C0C720B3EBBBE7B0FCB0E82E687770>

학위논문홍승아.hwp

C++ Programming

PDF

09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 중간착취의 금지 41 - 대판 , 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 , 2002도3883 [남녀고용평등법위

<5BC6EDC1FD5DBEEEBEF7C0CCC1D6B3EBB5BFC0DAC0CEB1C7BBF3C8B2BDC7C5C2C1B6BBE7C3D6C1BEBAB8B0EDBCAD28BAB8C0CCBDBABEC6C0CC292E687770>

PowerPoint Presentation

유니 앞부속

<5BB1E2BABB5D5FB0F8B0F8BACEB9AE5FBDC3B0A3C1A6B1D9B9ABBFCD5FC0B0BEC6C8DEC1F7BFA15FB5FBB8A55FB4EBC3BCC0CEB7C25FC8B0BFEBB0FAC0C75FBFACB0E8B9E6BEC85F2D5FB9AEB9CCB0E62E687770>

<3036C7E2BCF6C3D6C1BEBABB2E687770>

iOS9_내지(최종)_4도_ indd


INDUS-8.HWP

CONTENTS.HWP


<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Microsoft Word - src.doc

정책연구개발사업 2010-위탁 대학 등록금의 합리적 책정을 위한 실행방안 연구 연 구 책 임 자 공 동 연 구 자 송동섭(단국대학교) 이동규(충남대학교) 이창세(재능대학) 한창근(인하공업전문대학) 연 구 협 력 관 장미란(교육과학기술부) 교육과학기술부 이 연구는 201

서현수

<5B33B9F8B0FAC1A65D20B9E6BCDBBDC9C0C7BDC3BDBAC5DB20B0B3BCB1B9E6BEC8BFACB1B82DC3D6C3D6C1BE2E687770>

*BA_00

xviii EBS 수능강의 서비스를 활용하는 이유는 수능시험에 연계되기 때문이라는 응답 이 학생 61.7%, 학부모 73.2%로 가장 많았고, EBS 수능강의 서비스를 활용하 지 않는 이유는 학생의 경우 사교육 때문이라는 응답이 26.9%, 혼자 공부하는 것으로 충분하

표1

Microsoft PowerPoint - chap01-C언어개요.pptx

wtu05_ÃÖÁ¾

2005 중소기업 컨설팅 산업 백서

<28BCF6BDC D B0E6B1E2B5B520C1F6BFAABAB020BFA9BCBAC0CFC0DAB8AE20C1A4C3A520C3DFC1F8C0FCB7AB5FC3D6C1BE E E687770>

JVM 메모리구조

세계 비지니스 정보

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft Word - 문필주.doc

2016년이렇게달라집니다_ 전체 최종 1223.indd

untitled

C++ Programming

제 출 문 중소기업청장 귀하 본 보고서를 중소기업 원부자재 구매패턴 조사를 통한 구매방식 개선 방안 연구 의 최종보고서로 제출합니다 한국산업기술대학교 산학협력단 단 장 최 정 훈 연구책임자 : 이재광 (한국산업기술대학교 부교수) 공동연구자 : 노성호

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

DBMS & SQL Server Installation Database Laboratory



슬라이드 1

사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을

<BAD2B9FDBAB9C1A620BAB8B0EDBCAD5FC5EBC7D55F FB9DFB0A3BBE7C6F7C7D45F33C2F720B1B3C1A428B1D7B8B22020C3DFC3E2292E687770>

0

<C1A4C3A5BFACB1B D3420C1A4BDC5C1FAC8AFC0DAC0C720C6EDB0DFC7D8BCD220B9D720C0CEBDC4B0B3BCB1C0BB20C0A7C7D120B4EBBBF3BAB020C0CEB1C720B1B3C0B020C7C1B7CEB1D7B7A520B0B3B9DF20BAB8B0EDBCAD28C7A5C1F6C0AF292E687770>

ios 8 App Development Essentials Korean Translation Copyright 2015 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth throug

PowerPoint 프레젠테이션

워드프레스(김대중)_내지_최종.indd

C O N T E N T S 목 차 요약 / 1 I. 중남미화장품시장현황 / 3 Ⅱ. 주요국별시장정보 / 9 ( 트렌드 유통망 인증 ) 1. 브라질 / 9 2. 멕시코 / 콜롬비아 / 칠레 / 64 Ⅲ. 우리기업진출전략 / 79 # 첨부. 화장품관

iOS5_1±³


언리얼엔진4_내지_ indd

사용하기 전에 2

< BACFC7D1B1B3C0B0C1A4C3A5B5BFC7E228B1E2BCFABAB8B0ED D D20C6EDC1FD2035B1B32E687770>

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

2008 다문화가족의중장기전망및대책연구 : 다문화가족의장래인구추계및사회ㆍ경제적효과분석을중심으로 ㆍ ㆍ 2009

사물인터넷비즈니스빅뱅_내지_11차_ indd

00-1표지

PowerPoint 프레젠테이션

PowerPoint Presentation

본책- 부속물

캐빈의iOS프로그램팁01

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES ActiveX 컴포넌트가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax

직업편-1(16일)

UX410 SAP Fiori UI 개발. 과정개요 과정버전 : 02 학습시간 : 5 일

Àç°¡ »êÀçÀå¾ÖÀÎÀÇ ÀçÈ°ÇÁ·Î±×·¥¿¡ °üÇÑ¿¬±¸.HWP

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

쉽게 풀어쓴 C 프로그래밊

그린홈이용실태및만족도조사


Microsoft Word - windows server 2003 수동설치_non pro support_.doc

경제통상 내지.PS

°æÁ¦Åë»ó³»Áö.PDF

[Brochure] KOR_TunA

고용허가제와 방문취업제 외국인의 취업 및 사회생활 사본

우루과이 내지-1

윈도우시스템프로그래밍

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자


1

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

연구요약 1. 서론 연구의 목적 본 연구는 청소년 교육정책의 바람직한 방향을 설정하고, 미래지향적인 정책과제와 전략, 그리고 비전을 도출하기 위해 수행되었다. 이를 위해 지 난 15년간의 청소년 교육 환경 및 정책의 변화를 분석하고, 향후 15년간 의 청소년 교육 환경

Windows 8에서 BioStar 1 설치하기

´ë±â-ÃÑ°ýº¸°í¼Ł.PDF

H3250_Wi-Fi_E.book

코코아36-37_3차( )

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

SBR-100S User Manual

Tablespace On-Offline 테이블스페이스 온라인/오프라인


Transcription:

iphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency-One, Seoul. 이책의한국어판저작권은에이전시원을통해저작권자와의독점계약으로제이펍출판사에있습니다. 신저작권법에의해한국내에서보호를받는저작물이므로무단전재와무단복제를금합니다. 초판 1쇄발행 2013월 1월 31일지은이닐스미스옮긴이황반석펴낸이장성두펴낸곳제이펍출판신고 2009년 11월 10일제406-2009-000087호주소경기도파주시문발동파주출판도시 530 1 뮤즈빌딩 403호전화 070 8201 9010 / 팩스 02 6280 0405 홈페이지 www.jpub.kr / 이메일 jeipub@gmail.com 편집부이민숙, 이슬 / 본문디자인북아이 / 표지디자인미디어픽스용지신승지류유통 / 인쇄한승문화 / 제본동호문화사 ISBN 978-89-94506-50-0 (93560) 값 33,000원 이책은저작권법에따라보호를받는저작물이므로무단전재와무단복제를금지하며, 이책내용의전부또는일부를이용하려면반드시저작권자와제이펍의서면동의를받아야합니다. 잘못된책은구입하신서점에서바꾸어드립니다. 제이펍은책에관한독자여러분의아이디어와원고투고를기다리고있습니다. 책으로펴내고자하는아이디어나원고가있으신분께서는책에대한간단한개요와차례, 구성과저 ( 역 ) 자약력등을메일로보내주세요. jeipub@gmail.com

iphone ios 6 Development Essentials 차례 역자머리말 ⅹⅹⅹ Chapter 1 이책에대하여 _ 1 1.1 처음 ios 개발을하는개발자를위하여 1 1.2 ios 5 개발자를위하여 2 1.3 예제소스코드 3 1.4 피드백 4 1.5 오탈자 4 Chapter 2 Apple ios 개발자프로그램에가입하기 _ 5 2.1 등록된애플개발자 5 2.2 Xcode와 ios 6 SDK 다운로드하기 6 2.3 ios 개발자프로그램 6 2.4 언제 ios 개발자프로그램에가입할까? 7 2.5 ios 개발자프로그램에가입하기 7 2.6 요약 9 Chapter 3 Xcode 4 와 ios 6 SDK 설치하기 _ 10 3.1 여러분의맥이 Intel 기반인지 PowerPC 기반인지확인하기 10 3.2 Xcode 4 와 ios 6 SDK 설치하기 11 IV

차례 V 3.3 Xcode 시작하기 12 Chapter 4 간단한아이폰 ios 6 앱만들기 _ 13 4.1 Xcode 4 시작하기 14 4.2 ios 앱사용자인터페이스만들기 18 4.3 컴포넌트프로퍼티변경하기 21 4.4 사용자인터페이스에객체추가하기 22 4.5 Xcode 4로 ios 앱빌드하고실행하기 23 4.6 빌드에러처리하기 25 4.7 서로다른화면크기테스트하기 25 Chapter 5 ios 6 아키텍처와 SDK 프레임워크 _ 26 5.1 iphone OS가 ios로 26 5.2 ios 6 아키텍처개요 27 5.3 코코아터치계층 28 5.4 ios 미디어계층 31 5.5 ios 코어서비스계층 35 5.6 파운데이션프레임워크 36 5.7 ios 코어 OS 계층 38 Chapter 6 아이폰에서 ios 6 앱테스트하기 - 개발자인증서및프로비저닝프로파일 _ 40 6.1 ios 개발인증서서명요청만들기 41 6.2 ios 개발인증서서명요청제출하기 43 6.3 ios 개발인증서설치하기 45 6.4 기기할당하기 46 6.5 App ID 만들기 47 6.6 ios 개발프로비저닝프로파일만들기 49 6.7 개발을위해아이폰기기활성화하기 50 6.8 앱에 App ID 연결하기 50 6.9 ios 와 SDK 버전호환성 51 6.10 앱을기기에설치하기 52 6.11 요약 52

VI 차례 Chapter 7 오브젝티브 -C 프로그래밍기초 _ 53 7.1 오브젝티브-C 데이터타입및변수 53 7.2 오브젝티브-C 표현식 54 7.3 if와 else로오브젝티브-c 흐름제어하기 59 7.4 for 문을이용한반복 61 7.5 do와 while을이용한반복 62 7.6 오브젝티브-C do... while 반복 62 Chapter 8 오브젝티브 -C 로개발하는객체지향프로그래밍기초 _ 63 8.1 객체란? 63 8.2 클래스란? 64 8.3 오브젝티브-C 클래스인터페이스선언 64 8.4 클래스에인스턴스변수추가하기 65 8.5 클래스메서드정의하기 66 8.6 오브젝티브-C 클래스구현선언하기 67 8.7 클래스인스턴스선언및초기화하기 68 8.8 Automatic Reference Counting(ARC) 69 8.9 메서드호출과인스턴스데이터접근하기 70 8.10 오브젝티브-C 그리고도트표기법 71 8.11 변수가저장되는방법 72 8.12 인다이렉션의개요 73 8.13 인다이렉션과객체 75 8.14 인다이렉션과객체복사하기 76 8.15 프로그램영역만들기 77 8.16 하나로합치기 78 8.17 객체지향오브젝티브-C 코드구조잡기 80 Chapter 9 최신오브젝티브 -C 의기초 _ 82 9.1 디폴트프로퍼티신서사이즈 82 9.2 메서드순서 84 9.3 NSNumber 문자 85 9.4 배열문자 86 9.5 딕셔너리문자 87

차례 VII 9.6 요약 88 Chapter 10 아이폰 ios 6 애플리케이션개발아키텍처개요 _ 89 10.1 Model View Controller(MVC) 89 10.2 타깃-액션패턴, IBOutlet과 IBAction 90 10.3 서브클래싱 91 10.4 델리게이션 92 10.5 요약 92 Chapter 11 상호작용하는 ios 6 아이폰앱만들기 _ 93 11.1 새프로젝트만들기 93 11.2 사용자인터페이스만들기 94 11.3 예제애플리케이션빌드하고실행하기 96 11.4 액션과아웃렛추가하기 97 11.5 액션과아웃렛을사용자인터페이스에연결하기 101 11.6 완성된애플리케이션빌드및실행하기 105 11.7 요약 106 Chapter 12 아이폰키보드를감추는 ios 6 코드만들기 _ 107 12.1 예제앱만들기 107 12.2 사용자가리턴키를터치할때키보드감추기 108 12.3 사용자가백그라운드를터치했을때키보드감추기 110 12.4 요약 112 Chapter 13 Xcode 의 Assistant Editor 를이용하여아웃렛과액션구축하기 _ 113 13.1 Assistant Editor 표시하기 114 13.2 Assistant Editor 사용하기 115 13.3 Assistant Editor를이용하여아웃렛추가하기 116 13.4 Assistant Editor를이용하여액션추가하기 118 13.5 요약 119

VIII 차례 Chapter 14 아이폰 ios 6 뷰와윈도우그리고뷰계층이해하기 _ 120 14.1 뷰에대해 120 14.2 UIWindow 클래스 121 14.3 뷰계층구조 121 14.4 뷰타입 124 14.5 요약 125 Chapter 15 ios 6 의자동레이아웃소개 _ 126 15.1 자동레이아웃의개요 127 15.2 정렬 128 15.3 고유한콘텐츠사이즈 129 15.4 콘텐츠허깅우선순위와압축제한우선순위 129 15.5 컨스트레인트를만드는세가지방법 129 15.6 컨스트레인트에대한상세내용 130 15.7 요약 132 Chapter 16 인터페이스빌더에서 ios 6 자동레이아웃컨트레인트로작업하기 _ 133 16.1 자동레이아웃의간단한예제 133 16.2 인터페이스빌더에서자동레이아웃켜고끄기 134 16.3 인터페이스빌더의자동레이아웃기능들 138 16.4 인터페이스빌더에서새로운컨스트레인트생성하기 143 16.5 요약 143 Chapter 17 아이폰 ios 6 자동레이아웃예제 _ 144 17.1 프로젝트준비하기 144 17.2 사용자인터페이스설계하기 144 17.3 컨스트레인트우선순위조절하기 147 17.4 정렬과폭동등성 151 17.5 애플리케이션테스트하기 153 17.6 요약 154

차례 IX Chapter 18 코드에서 ios 6 자동레이아웃컨스트레인트를코드로구현하기 _ 155 18.1 코드에서컨스트레인트생성하기 155 18.2 컨스트레인트를뷰에추가하기 157 18.3 자동리사이징끄기 158 18.4 예제애플리케이션 159 18.5 뷰생성하기 159 18.6 컨스트레인트생성하기와추가하기 160 18.7 컨스트레인트제거하기 162 18.8 요약 163 Chapter 19 ios 6 에서교차계층구조자동레이아웃컨스트레인트구현하기 _ 164 19.1 예제애플리케이션 164 19.2 아웃렛구축하기 166 19.3 이전컨스트레인트를제거하는코드작성하기 167 19.4 교차계층구조컨스트레인트추가하기 168 19.5 애플리케이션테스트하기 168 19.6 요약 168 Chapter 20 ios 6 자동레이아웃시각적형식언어이해하기 _ 169 20.1 시각적형식언어소개 169 20.2 시각적형식언어예제 170 20.3 constraintswithvisualformat: 메서드이용하기 172 20.4 요약 174 Chapter 21 Xcode 스토리보딩사용하기 _ 175 21.1 스토리보드예제프로젝트만들기 176 21.2 스토리보드접근하기 176 21.3 스토리보드에 Scenes 추가하기 178 21.4 스토리보드 Segues 구성하기 179 21.5 스토리보드전환구성하기 180 21.6 Scene과뷰컨트롤러연결하기 181 21.7 Scene들간의데이터전달 183

X 차례 21.8 스토리보드 Segue 되돌리기 184 21.9 프로그램으로스토리보드 Segue 호출하기 186 21.10 요약 186 Chapter 22 스토리보드를이용한 ios 6 아이폰탭바애플리케이션만들기 _ 187 22.1 탭바개요 187 22.2 멀티뷰애플리케이션의뷰컨트롤러이해하기 188 22.3 탭바예제애플리케이션설정하기 188 22.4 프로젝트파일살펴보기 189 22.5 최초의뷰컨트롤러이름바꾸기 189 22.6 두번째콘텐츠뷰를위한뷰컨트롤러추가하기 190 22.7 탭바컨트롤러를스토리보드에추가하기 190 22.8 두번째뷰컨트롤러를스토리보드에추가하기 191 22.9 뷰컨트롤러사용자인터페이스설계하기 193 22.10 탭바아이템설정하기 194 22.11 애플리케이션빌드하고실행하기 196 22.12 요약 196 Chapter 23 Xcode 스토리보드와 ios 6 테이블뷰의개요 _ 197 23.1 테이블뷰의개요 198 23.2 정적테이블뷰 vs 동적테이블뷰 198 23.3 테이블뷰델리게이트와데이터소스 198 23.4 테이블뷰스타일 199 23.5 테이블뷰셀스타일 200 23.6 테이블뷰셀재사용 200 23.7 요약 202 Chapter 24 프로토타입테이블뷰셀이있는동적테이블뷰를만들기위하여 Xcode 스토리보드이용하기 _ 203 24.1 예제프로젝트생성하기 203 24.2 스토리보드에테이블뷰컨트롤러추가하기 204 24.3 UITableViewController 와 UITableViewCell 하위클래스생성하기 205 24.4 셀재사용식별자선언하기 207

차례 XI 24.5 스토리보드 UITableView 프로토타입셀설계하기 208 24.6 CarTableViewCell 클래스수정하기 209 24.7 테이블뷰데이터소스생성하기 210 24.8 이미지파일다운로드하여추가하기 214 24.9 애플리케이션컴파일하고실행하기 214 24.10 요약 215 Chapter 25 Xcode 스토리보드를이용한테이블뷰내비게이션구현하기 _ 216 25.1 내비게이션컨트롤러이해하기 216 25.2 스토리보드에새로운화면추가하기 217 25.3 내비게이션컨트롤러추가하기 218 25.4 스토리보드 Segue 구축하기 219 25.5 CarDetailViewController 클래스수정하기 220 25.6 prepareforsegue: 를이용한스토리보드화면간데이터전달하기 222 25.7 애플리케이션테스트하기 224 25.8 요약 224 Chapter 26 Xcode 스토리보드를이용한정적테이블뷰만들기 _ 225 26.1 정적테이블프로젝트의개요 225 26.2 프로젝트생성하기 226 26.3 테이블뷰컨트롤러추가하기 226 26.4 테이블뷰콘텐츠타입변경하기 227 26.5 정적테이블설계하기 228 26.6 테이블셀에항목추가하기 229 26.7 StaticTableViewController 클래스수정하기 232 26.8 애플리케이션빌드하고실행하기 233 26.9 요약 234 Chapter 27 UIPageViewController 를이용한페이지기반의 ios 6 아이폰애플리케이션구현하기 _ 235 27.1 UIPageViewController 클래스 235 27.2 UIPageViewController DataSource 236 27.3 내비게이션방향 237

XII 차례 27.4 스파인위치 237 27.5 UIPageViewController 델리게이트프로토콜 238 27.6 요약 238 Chapter 28 ios 6 아이폰 UIPageViewController 예제애플리케이션 _ 239 28.1 Xcode 페이지기반애플리케이션템플릿 239 28.2 프로젝트만들기 240 28.3 콘텐트뷰컨트롤러추가하기 240 28.4 데이터모델만들기 242 28.5 UIPageViewController 초기화하기 247 28.6 UIPageViewController 애플리케이션실행하기 249 28.7 요약 250 Chapter 29 UIPickerView 와 UIDatePicker 컴포넌트사용하기 _ 251 29.1 DatePicker와 PickerView 컴포넌트 251 29.2 DatePicker 예제 252 29.3 사용자인터페이스디자인하기 253 29.4 Date Picker 예제기능구현하기 254 29.5 아이폰 Date Picker 애플리케이션빌드및실행하기 255 Chapter 30 ios 6 아이폰 UIPickerView 예제 _ 256 30.1 ios 6 PickerView 프로젝트만들기 256 30.2 UIPickerView 델리게이트와데이터소스 256 30.3 PickerViewController.h 파일 257 30.4 사용자인터페이스디자인하기 258 30.5 배열초기화하기 259 30.6 데이터소스프로토콜구현하기 260 30.7 델리게이트프로토콜구현하기 261 30.8 키보드감추기 262 30.9 애플리케이션테스트하기 262 Chapter 31 ios 6 에서디렉터리다루기 _ 263 31.1 애플리케이션 Documents 디렉터리 264

차례 XIII 31.2 오브젝티브-C NSFileManager, NSFileHandle과 NSData 클래스 264 31.3 오브젝티브-C의경로명이해하기 265 31.4 NSFileManager 인스턴스객체만들기 265 31.5 현재작업디렉터리확인하기 265 31.6 Documents 디렉터리확인하기 266 31.7 Temporary 디렉터리확인하기 267 31.8 디렉터리변경하기 268 31.9 새로운디렉터리만들기 269 31.10 디렉터리삭제하기 270 31.11 디렉터리내용목록표시하기 271 31.12 파일이나디렉터리프로퍼티구하기 271 Chapter 32 ios 6 에서아이폰파일다루기 _ 273 32.1 NSFileManager 인스턴스만들기 273 32.2 파일이존재하는지확인하기 274 32.3 두파일의내용비교하기 274 32.4 파일의 Readable/Writable/Executable/Deletable 상태확인하기 275 32.5 파일옮기기와이름바꾸기 276 32.6 파일복사하기 276 32.7 파일제거하기 277 32.8 Symbolic Link 만들기 277 32.9 NSFileManager로파일읽고쓰기 278 32.10 NSFileHandle 클래스로파일작업하기 279 32.11 NSFileHandle 객체만들기 279 32.12 NSFileHandle 파일 Offsets과 Seeking 279 32.13 파일에서데이터읽기 280 32.14 파일에데이터쓰기 281 32.15 파일자르기 282 32.16 요약 282 Chapter 33 ios 6 아이폰디렉터리관리및파일입출력예제 _ 283 33.1 예제아이폰애플리케이션 283 33.2 애플리케이션프로젝트설정하기 283 33.3 사용자인터페이스디자인하기 284

XIV 차례 33.4 애플리케이션시작시데이터파일체크하기 285 33.5 액션메서드구현하기 286 33.6 예제빌드및실행하기 287 Chapter 34 ios 6 앱에서 icloud Storage 사용준비하기 _ 289 34.1 icloud란? 289 34.2 icloud Data Storage 서비스 290 34.3 icloud Storage를사용하는애플리케이션준비하기 290 34.4 ios 6 icloud 활성화된 App ID 만들기 291 34.5 icloud 활성화된프로비저닝프로파일생성및설치하기 292 34.6 icloud Entitlements 파일생성하기 293 34.7 수작업으로 Entitlements 파일생성하기 295 34.8 다중 Ubiquity Container 접근하기 296 34.9 Ubiquity Container URL 정의하기 296 34.10 요약 297 Chapter 35 ios 6 UIDocument 클래스로파일관리하기 _ 298 35.1 UIDocument 클래스 298 35.2 UIDocument 클래스서브클래싱 299 35.3 충돌해결과도큐먼트상태 299 35.4 UIDocument 예제애플리케이션 300 35.5 UIDocument 하위클래스만들기 300 35.6 사용자인터페이스디자인하기 301 35.7 애플리케이션데이터구조구현하기 302 35.8 contentsfortype 메서드구현하기 303 35.9 loadfromcontents 메서드구현하기 303 35.10 앱시작시도큐먼트로드하기 304 35.11 도큐먼트콘텐트저장하기 308 35.12 애플리케이션테스트하기 309 35.13 요약 309 Chapter 36 ios 6 아이폰애플리케이션에서 icloud 스토리지사용하기 _ 310 36.1 icloud Usage 튜토리얼 310

차례 XV 36.2 icloud 접근을위해 icloudstore 애플리케이션준비하기 311 36.3 뷰컨트롤러구성하기 312 36.4 viewdidload 메서드구현하기 313 36.5 metadataquerydidfinishgathering: 메서드구현하기 316 36.6 savedocument 메서드구현하기 319 36.7 아이폰에서 icloud Document와 Data Storage 활성화하기 320 36.8 icloud 애플리케이션실행하기 321 36.9 icloud 기반도큐먼트리뷰및삭제하기 321 36.10 로컬파일을어디서나사용할수있게만들기 322 36.11 요약 322 Chapter 37 icloud 를이용한아이폰 ios 6 Key-Value Data 동기화하기 _ 323 37.1 icloud Key-Value Data Storage 323 37.2 애플리케이션간데이터공유하기 325 37.3 Data Storage 제약점 325 37.4 충돌해결 325 37.5 Key-Value 변경시노티피케이션받기 325 37.6 icloud Key-Value Data Storage 예제 326 37.7 icloud Key Value Data Storage를위해애플리케이션활성화하기 326 37.8 사용자인터페이스구현하기 327 37.9 뷰컨트롤러구현하기 328 37.10 viewdidload 메서드수정하기 328 37.11 노티피케이션메서드구현하기 330 37.12 savedata 메서드구현하기 330 37.13 애플리케이션테스트하기 331 Chapter 38 아카이빙을이용한 ios 6 아이폰데이터영구저장 _ 332 38.1 아카이빙의개요 332 38.2 아카이빙예제애플리케이션 333 38.3 사용자인터페이스설계하기 334 38.4 시작시아카이브파일존재확인하기 335 38.5 액션메서드에서객체데이터아카이빙하기 337 38.6 애플리케이션테스트하기 337 38.7 요약 338

XVI 차례 Chapter 39 SQLite 를사용한 ios 6 아이폰데이터베이스구현 _ 339 39.1 SQLite란? 339 39.2 구조적질의언어 (SQL) 340 39.3 맥 OS X에서 SQLite 사용하기 340 39.4 SQLite 연동을위한아이폰애플리케이션프로젝트준비하기 343 39.5 주요 SQLite 기능들 344 39.6 SQLite 데이터베이스선언하기 344 39.7 데이터베이스열기및생성하기 345 39.8 SQL 문준비및실행하기 346 39.9 데이터베이스테이블생성하기 347 39.10 데이터베이스테이블에서데이터가져오기 347 39.11 SQLite 데이터베이스닫기 348 39.12 요약 349 Chapter 40 SQLite 기반 ios 6 아이폰애플리케이션예제 _ 350 40.1 SQLite 아이폰애플리케이션예제에대해 350 40.2 SQLite 애플리케이션프로젝트준비및생성하기 350 40.3 sqlite3.h 임포트및데이터베이스참조선언하기 351 40.4 사용자인터페이스설계하기 352 40.5 데이터베이스와테이블만들기 353 40.6 SQLite 데이터베이스에데이터를저장하는코드구현하기 355 40.7 SQLite 데이터베이스에서데이터를가져오는코드구현하기 356 40.8 애플리케이션빌드및실행하기 358 40.9 요약 359 Chapter 41 코어데이터를이용한 ios 6 아이폰데이터베이스작업 _ 360 41.1 코어데이터스택 360 41.2 매니지드객체 361 41.3 매니지드객체콘텍스트 362 41.4 매니지드객체모델 362 41.5 영구저장소코디네이터 363 41.6 영구객체저장소 363 41.7 엔티티디스크립션정의 363

차례 XVII 41.8 매니지드객체콘텍스트얻기 365 41.9 엔티티디스크립션얻기 365 41.10 매니지드객체만들기 366 41.11 매니지드객체프로퍼티읽기및쓰기 366 41.12 매니지드객체구해오기 367 41.13 조건에따른매니지드객체가져오기 367 41.14 요약 368 Chapter 42 ios 6 아이폰코어데이터튜토리얼 _ 369 42.1 아이폰코어데이터예제애플리케이션 369 42.2 코어데이터기반의아이폰애플리케이션만들기 369 42.3 엔티티디스크립션만들기 370 42.4 뷰컨트롤러추가하기 371 42.5 사용자인터페이스설계하기 373 42.6 코어데이터를이용하여영구저장소에데이터저장하기 375 42.7 코어데이터를이용하여영구저장소에서데이터가져오기 376 42.8 예제애플리케이션빌드및실행하기 377 42.9 요약 378 Chapter 43 ios 6 아이폰멀티터치, 탭과제스처에대해 _ 379 43.1 리스폰더체인 379 43.2 다음리스폰더로이벤트전달하기 380 43.3 제스처 381 43.4 탭 381 43.5 터치 381 43.6 터치노티피케이션메서드 381 43.7 요약 382 Chapter 44 ios 6 아이폰터치, 멀티터치와탭예제애플리케이션 _ 383 44.1 ios 6 아이폰탭과터치예제애플리케이션 383 44.2 ios 터치프로젝트만들기 384 44.3 사용자인터페이스디자인하기 384 44.4 뷰에서멀티터치활성화하기 385

XVIII 차례 44.5 touchesbegan 메서드구현하기 386 44.6 touchesmoved 메서드구현하기 386 44.7 touchesended 메서드구현하기 387 44.8 터치의좌표구하기 387 44.9 터치예제애플리케이션빌드및실행하기 388 Chapter 45 ios 6 아이폰터치스크린제스처인식하기 _ 389 45.1 ios 6 아이폰제스처예제애플리케이션 389 45.2 예제프로젝트만들기 390 45.3 사용자인터페이스설계하기 390 45.4 touchesbegan 메서드구현하기 391 45.5 touchesmoved 메서드구현하기 392 45.6 touchesended 메서드구현하기 392 45.7 제스처예제빌드및실행하기 393 45.8 요약 393 Chapter 46 ios 6 Gesture Recognizers 를통한제스처인식 _ 394 46.1 UIGestureRecognizer 클래스 394 46.2 인식기액션메시지 395 46.3 불연속및연속된제스처 396 46.4 제스처에서데이터얻기 396 46.5 탭제스처인식하기 396 46.6 핀치제스처인식하기 397 46.7 회전제스처인식하기 397 46.8 팬과드래깅제스처인식하기 397 46.9 스와이프제스처인식하기 398 46.10 롱터치 ( 터치와홀드 ) 제스처인식하기 399 46.11 요약 399 Chapter 47 아이폰 ios 6 제스처인식튜토리얼 _ 400 47.1 제스처인식프로젝트만들기 400 47.2 사용자인터페이스설계하기 400 47.3 액션메서드구현하기 403 47.4 제스처인식애플리케이션테스트하기 404

차례 XIX Chapter 48 ios 6 컬렉션뷰와플로우레이아웃의개요 _ 405 48.1 컬렉션뷰의개요 406 48.2 UICollectionView 클래스 408 48.3 UICollectionViewCell 클래스 408 48.4 UICollectionReusableView 클래스 409 48.5 UICollectionViewFlowLayout 클래스 409 48.6 UICollectionViewLayoutAttributes 클래스 410 48.7 UICollectionViewDataSource 프로토콜 411 48.8 UICollectionViewDelegate 프로토콜 412 48.9 UICollectionViewDelegateFlowLayout 프로토콜 413 48.10 셀과뷰재사용 413 48.11 요약 415 Chapter 49 아이폰 ios 6 스토리보드기반의컬렉션뷰튜토리얼 _ 417 49.1 컬렉션뷰예제프로젝트생성하기 417 49.2 템플릿뷰컨트롤러제거하기 417 49.3 컬렉션뷰컨트롤러를스토리보드에추가하기 418 49.4 프로젝트에컬렉션뷰셀클래스추가하기 420 49.5 셀프로토타입설계하기 421 49.6 데이터모델구현하기 422 49.7 데이터소스구현하기 423 49.8 애플리케이션테스트하기 426 49.9 셀항목에대한크기설정하기 427 49.10 스크롤방향변경하기 428 49.11 추가적인뷰구현하기 429 49.12 추가적인뷰프로토콜메서드구현하기 432 49.13 컬렉션뷰항목삭제하기 433 49.14 요약 434 Chapter 50 ios 6 컬렉션뷰플로우레이아웃의하위클래스만들기와확장하기 _ 435 50.1 예제레이아웃클래스에대하여 435 50.2 UICollectionViewFlowLayout 클래스의하위클래스만들기 436 50.3 새로운레이아웃클래스확장하기 436

XX 차례 50.4 layoutattributesforitematindexpath: 메서드구현하기 437 50.5 layoutattributesforelementsinrect: 메서드구현하기 439 50.6 modifylayoutattributes: 메서드구현하기 439 50.7 새로운레이아웃과핀치제스처인식기추가하기 441 50.8 핀치인식기구현하기 442 50.9 이미지잘림피하기 445 50.10 QuartzCore 프레임워크를프로젝트에추가하기 445 50.11 애플리케이션테스트하기 445 50.12 요약 446 Chapter 51 쿼츠로 ios 6 아이폰 2D 그래픽그리기 _ 448 51.1 코어그래픽과쿼츠 2D 소개 448 51.2 drawrect 메서드 449 51.3 점, 좌표와픽셀 449 51.4 그래픽콘텍스트 450 51.5 쿼츠 2D에서색작업하기 450 51.6 요약 452 Chapter 52 쿼츠 2D 와코어이미지를사용하는 ios 6 아이폰그래픽튜토리얼 _ 453 52.1 ios 아이폰드로잉예제애플리케이션 453 52.2 새로운프로젝트만들기 453 52.3 UIView의하위클래스만들기 454 52.4 UIView 서브클래스에 drawrect 메서드위치시키기 454 52.5 선그리기 455 52.6 경로그리기 458 52.7 사각형그리기 459 52.8 타원및원그리기 460 52.9 색으로경로채우기 461 52.10 호그리기 463 52.11 3차베지어곡선그리기 464 52.12 2차베지어곡선그리기 465 52.13 점선그리기 466 52.14 그래픽콘텍스트에이미지그리기 467 52.15 코어이미지프레임워크를통한이미지필터링 469

차례 XXI 52.16 요약 471 Chapter 53 코어애니메이션을이용한 ios 6 아이폰애니메이션기초 _ 472 53.1 UIView 코어애니메이션블록 472 53.2 애니메이션커브이해하기 474 53.3 애니메이션종료시노티피케이션받기 474 53.4 아핀변환수행하기 475 53.5 동시에수행되는변환 475 53.6 애니메이션예제애플리케이션만들기 476 53.7 인터페이스파일구현하기 476 53.8 UIView에서그리기 477 53.9 화면터치인식및애니메이션수행하기 477 53.10 애니메이션애플리케이션빌드및실행하기 479 53.11 요약 480 Chapter 54 ios 6 아이폰앱에 iads 연동하기 _ 481 54.1 ios 아이폰광고옵션들 482 54.2 iads 광고포맷 482 54.3 iads를표시하는기본규칙 483 54.4 iads 아이폰예제애플리케이션만들기 483 54.5 Xcode 프로젝트에 iads 프레임워크추가하기 484 54.6 뷰컨트롤러구성하기 484 54.7 사용자인터페이스설계하기 485 54.8 Banner Ad 만들기 486 54.9 광고표시하기 486 54.10 델리게이트메서드구현하기 488 54.11 요약 490 Chapter 55 ios 6 아이폰멀티태스킹개요 _ 491 55.1 ios 애플리케이션상태이해하기 491 55.2 멀티태스킹애플리케이션의수명주기에대한개념 492 55.3 ios 애플리케이션에서멀티태스킹비활성화하기 493 55.4 멀티태스킹지원체크하기 495

XXII 차례 55.5 지원되는백그라운드실행형태 495 55.6 백그라운드실행규칙 496 55.7 로컬노티피케이션예약하기 497 Chapter 56 ios 6 아이폰로컬노티피케이션예약하기 _ 498 56.1 로컬노티피케이션아이폰앱프로젝트만들기 499 56.2 애플리케이션델리게이트메서드위치시키기 499 56.3 프로젝트에사운드파일추가하기 499 56.4 로컬노티피케이션예약하기 500 56.5 애플리케이션테스트하기 501 56.6 예약된노티피케이션취소하기 501 56.7 로컬노티피케이션즉시호출하기 502 56.8 요약 502 Chapter 57 ios 6 애플리케이션상태보존과복원의개요 _ 503 57.1 보존과복원절차 504 57.2 보존과복원선택하기 505 57.3 복원식별자할당하기 505 57.4 UIKit의디폴트보존기능 506 57.5 추가적인상태정보저장하기와복원하기 507 57.6 복원절차이해하기 508 57.7 일반적인애플리케이션상태저장하기 510 57.8 요약 511 Chapter 58 ios 6 아이폰상태보존과복원튜토리얼 _ 512 58.1 예제애플리케이션생성하기 512 58.2 상태보존없는애플리케이션만들기 512 58.3 상태보존적용하기 513 58.4 복원식별자설정하기 514 58.5 뷰컨트롤러상태를인코딩하기와디코딩하기 515 58.6 스토리보드에내비게이션컨트롤러추가하기 517 58.7 세번째뷰컨트롤러추가하기 519 58.8 복원클래스생성하기 521 58.9 요약 523

차례 XXIII Chapter 59 MKMapItem 을이용하여아이폰 ios 6 애플리케이션과지도통합하기 _ 524 59.1 MKMapItem과 MKPlacemark 클래스 525 59.2 순방향및역방향지오코딩에대한소개 525 59.3 MKPlacemark 인스턴스생성하기 528 59.4 MKMapItem으로작업하기 528 59.5 MKMapItem 옵션들과턴방식길찾기활성화하기 530 59.6 상세항목을 MKMapItem에추가하기 531 59.7 요약 533 Chapter 60 ios 6 아이폰 MKMapItem 애플리케이션예제 _ 534 60.1 MapItem 프로젝트생성하기 534 60.2 사용자인터페이스설계하기 534 60.3 순방향지오코딩을이용하여목적지변환하기 536 60.4 지도실행하기 538 60.5 빌드라이브러리추가하기 539 60.6 애플리케이션빌드하고실행하기 539 60.7 요약 540 Chapter 61 ios 6 코어로케이션프레임워크를이용하여아이폰위치정보얻기 _ 541 61.1 코어로케이션의기초 541 61.2 로케이션정확도설정하기 542 61.3 거리필터구성하기 542 61.4 로케이션매니저델리게이트 543 61.5 CLLocation 객체에서위치정보얻기 544 61.6 거리계산하기 545 61.7 위치정보와멀티태스킹 545 61.8 요약 545 Chapter 62 ios 6 아이폰로케이션예제애플리케이션 _ 546 62.1 ios 6 아이폰로케이션예제애플리케이션만들기 546 62.2 프로젝트에코어로케이션프레임워크추가하기 546 62.3 사용자인터페이스설계하기 547

XXIV 차례 62.4 CLLocationManager 객체레이블만들기 549 62.5 액션메서드구현하기 549 62.6 애플리케이션델리게이트메서드구현하기 550 62.7 아이폰로케이션애플리케이션빌드및실행하기 552 Chapter 63 MapKit 과 MKMapView 클래스를이용하여아이폰에서지도다루기 _ 554 63.1 MapKit 프레임워크에대해 554 63.2 Map Regions 이해하기 555 63.3 아이폰 MKMapView 튜토리얼 555 63.4 아이폰지도튜토리얼만들기 555 63.5 Xcode 프로젝트에 MapKit 프레임워크추가하기 556 63.6 MKMapView 인스턴스와툴바생성하기 556 63.7 맵뷰설정하기 558 63.8 MapView 영역변경하기 559 63.9 지도형식변경하기 559 63.10 아이폰 MapView 애플리케이션테스트하기 560 63.11 사용자이동에따른 Map View 업데이트하기 561 63.12 맵뷰에기본적인어노테이션추가하기 562 Chapter 64 날짜와위치를기반으로한미리알림을만들기위하여 ios 6 Event Kit 이용하기 _ 564 64.1 Event Kit Framework 의개요 565 64.2 EKEventStore 클래스 565 64.3 데이터베이스에서캘린더접근하기 567 64.4 현재미리알림접근하기 568 64.5 미리알림생성하기 569 64.6 알람생성하기 570 64.7 예제프로젝트생성하기 570 64.8 날짜 / 시간기반의미리알림화면을위한사용자인터페이스설계하기 570 64.9 미리알림코드구현하기 572 64.10 키보드숨기기 574 64.11 위치기반미리알림뷰설계하기 575

차례 XXV 64.12 위치기반미리알림생성하기 576 64.13 Core Location Framework와 Event Kit Framework 추가하기 580 64.14 애플케이션테스트하기 580 64.15 요약 581 Chapter 65 아이폰카메라와포토라이브러리접근하기 _ 582 65.1 ios 6 UIImagePickerController 클래스 582 65.2 UIImagePickerController 인스턴스만들고구성하기 583 65.3 UIImagePickerController 델리게이트구성하기 584 65.4 기기의지원기능확인하기 586 65.5 무비와이미지저장하기 587 65.6 요약 588 Chapter 66 ios 6 아이폰카메라예제애플리케이션 _ 589 66.1 예제애플리케이션에대해 589 66.2 카메라프로젝트만들기 590 66.3 프레임워크추가하기 590 66.4 사용자인터페이스설계하기 590 66.5 액션메서드구현하기 592 66.6 델리게이트메서드구현하기 594 66.7 애플리케이션빌드및실행하기 595 Chapter 67 ios 6 아이폰애플리케이션에서비디오재생하기 _ 597 67.1 MPMoviePlayerController 클래스개요 597 67.2 지원하는비디오포맷 598 67.3 아이폰무비플레이어예제애플리케이션 598 67.4 MediaPlayer 프레임워크추가하기 598 67.5 사용자인터페이스설계하기 599 67.6 MoviePlayer 인스턴스선언하기 599 67.7 액션메서드구현하기 599 67.8 타깃-액션노티피케이션메서드 600 67.9 애플리케이션빌드및실행하기 601

XXVI 차례 Chapter 68 AVAudioPlayer 를이용하여아이폰에서오디오재생하기 _ 602 68.1 지원하는오디오포맷 602 68.2 재생노티피케이션받기 603 68.3 재생모니터링및제어하기 604 68.4 아이폰오디오예제애플리케이션만들기 604 68.5 AVFoundation 프레임워크추가하기 605 68.6 프로젝트리소스에오디오파일추가하기 605 68.7 사용자인터페이스설계하기 605 68.8 액션메서드구현하기 607 68.9 AVAudioPlayer 객체만들고초기화하기 608 68.10 AVAudioPlayerDelegate 프로토콜메서드구현하기 609 68.11 애플리케이션빌드및실행하기 609 Chapter 69 AVAudioRecorder 로아이폰에서오디오녹음하기 _ 610 69.1 아이폰 AVAudioRecorder 튜토리얼의개요 610 69.2 녹음프로젝트만들기 611 69.3 사용자인터페이스설계하기 611 69.4 AVAudioRecorder 인스턴스생성하기 612 69.5 액션메서드구현하기 614 69.6 델리게이트메서드구현하기 615 69.7 애플리케이션테스트하기 616 Chapter 70 트위터와페이스북을아이폰 ios 6 애플리케이션에통합하기 _ 617 70.1 ios 6 UIActivityController 클래스 617 70.2 Social Framework 618 70.3 ios 6 Accounts Framework 618 70.4 UIActivityViewController 클래스이용하기 620 70.5 SLComposeViewController 클래스이용하기 622 70.6 요약 624 Chapter 71 UIActivityViewController 를이용한아이폰 ios 6 Facebook 통합튜토리얼 _ 625 71.1 Facebook 소셜앱생성하기 625

차례 XXVII 71.2 사용자인터페이스설계하기 625 71.3 아웃렛과액션생성하기 626 71.4 selectimage와델리게이트메서드구현하기 628 71.5 키보드감추기 629 71.6 Facebook에메시지포스팅하기 629 71.7 Social Framework를 Build Phases에추가하기 630 71.8 소셜애플리케이션실행하기 631 71.9 요약 632 Chapter 72 SLRequest 를이용한아이폰 ios 6 Facebook 과 Twitter 통합 _ 633 72.1 SLRequest와 Account Framework 634 72.2 SLRequest를이용한 Twitter 통합 634 72.3 SLRequest를이용한 Facebook 통합 638 72.4 요약 640 Chapter 73 SLRequest 를이용한 ios 6 아이폰 Twitter 통합튜토리얼 _ 641 73.1 TwitterApp 프로젝트생성하기 641 73.2 사용자인터페이스설계하기 641 73.3 인터페이스파일수정하기 643 73.4 Twitter API 접근하기 644 73.5 gettimeline 메서드호출하기 647 73.6 Table View 델리게이트메서드 648 73.7 Build Phases에 Account Framework와 Social Framework 추가하기 649 73.8 애플리케이션빌드하기와실행하기 649 73.9 요약 650 Chapter 74 SKStoreProductViewController 클래스로판매하기 _ 651 74.1 SKStoreProductViewController 클래스 652 74.2 예제프로젝트생성하기 653 74.3 사용자인터페이스생성하기 653 74.4 스토어킷제품뷰컨트롤러표시하기 654 74.5 델리게이트메서드구현하기 656

XXVIII 차례 74.6 Store Kit Framework 를 Build Phases 에추가하기 656 74.7 애플리케이션테스트하기 657 74.8 요약 658 Chapter 75 아이폰 ios 6 애플리케이션에앱내결제구축하기 _ 659 75.1 앱내결제옵션 659 75.2 앱스토어가호스팅하도록콘텐츠업로드하기 660 75.3 앱내결제아이템구성하기 661 75.4 제품요청전송하기 661 75.5 Payment Queue 접근하기 663 75.6 트랜잭션감시자객체 663 75.7 결제시작하기 664 75.8 트랜잭션처리 664 75.9 트랜잭션복원 666 75.10 앱내결제테스트 667 75.11 요약 667 Chapter 76 앱내결제를위한 ios 6 애플리케이션준비하기 _ 668 76.1 예제애플리케이션에대하여 668 76.2 App ID 생성하기 669 76.3 프로비저닝프로파일생성하기 670 76.4 Xcode 프로젝트생성하기 671 76.5 프로비저닝프로파일설치하기 671 76.6 코드서명설정하기 672 76.7 itunes Connect에서애플리케이션설정하기 673 76.8 앱내결제아이템생성하기 674 76.9 요약 675 Chapter 77 아이폰 ios 6 앱내결제튜토리얼 _ 676 77.1 애플리케이션사용자인터페이스 676 77.2 스토리보드설계하기 677 77.3 결제뷰컨트롤러생성하기 678 77.4 InAppDemoViewController 클래스완성하기 679

차례 XXIX 77.5 PurchaseViewController 클래스완성하기 681 77.6 StoreKit Framework를빌드에추가하기 685 77.7 애플리케이션테스트하기 685 77.8 문제해결 686 77.9 요약 687 Chapter 78 ios 6 앱내결제를위하여콘텐츠가호스팅되는앱스토어구성하고생성하기 _ 688 78.1 앱내결제에서호스팅된콘텐츠를위한애플리케이션구성하기 688 78.2 콘텐츠패키지를호스팅하는앱내결제해부하기 689 78.3 콘텐츠패키지를호스팅하는앱내결제생성하기 690 78.4 호스팅될콘텐츠패키지아카이빙하기 691 78.5 호스팅될콘텐츠패키지검증하기 692 78.6 호스팅될콘텐츠패키지업로드하기 692 78.7 요약 693 Chapter 79 앱스토어에애플리케이션제출및준비하기 _ 694 79.1 ios 배포인증서서명요청만들기 694 79.2 인증서서명요청제출하기 695 79.3 배포인증서설치하기 695 79.4 앱스토어배포프로비저닝프로파일만들기 696 79.5 애플리케이션에아이콘추가하기 696 79.6 배포를위해애플리케이션아카이브하기 697 79.7 itunes Connect에서애플리케이션설정하기 699 79.8 애플리케이션검증하기와제출하기 700 찾아보기 702

iphone ios 6 Development Essentials 역자머리말 2012년은 ios 개발자들에게큰변화를가져다준한해였다. 여러가지다양한루머와기대속에 ios 6 SDK와아이폰 5가발표되었다. 어떤이들은기대에못미친다고했고, 이전의것들과달라지지않았다고했다. 역자도그러했다. 저자도그러했지만, 역자역시 ios 6 는그저조금더잘정리된 ios 5 정도로여겼으며더알아야할것들 이거의없다고생각했었다. 하지만, 사실은달랐다. 언제나그러했듯이애플은현업에서 ios 애플리케이션개발을하고있는개발자들을포함한모든사용자들이상상하지못할 변화와편의성을 ios 6 SDK 를통해서제공하였고, ios 애플리케이션사용자들에게더 멋지고풍부한서비스를제공하기위하여개발자들에게무엇이필요하고어떻게제공해 야하는지를안내해주고있다. ios 6 가꼭필요해? 어차피 ios 애플리케이션을만드는데예전에했던것처럼하면안 되는거야? 혹자는이렇게생각할지모르겠다. 역자도처음에그렇게생각했다. 하지만, 아니다! ios 6 를알아야한다. 역자의경험에비추어보면, ios 6 SDK 를사용하지않고 ( 즉, ios 5 에대한지식과방식으로 ) 애플리케이션을개발할때와 ios 6 SDK 를이용하여 개발할때는커다란차이가있었다. ios 6 SDK 를이용하지않고미친듯이코딩 ( 역자는 이것을 분노의타이핑 이라부른다 ) 을해서구현한것과이용한것은겉보기에는동일해보 이지만, 그내부의코드구조와메커니즘에는커다란차이가나타났다. 이것은마치어떠 한함수를직접구현하여사용하는것과이미제공되는메서드를사용하는것의차이라 XXX

역자머리말 XXXI 고비유할수있겠다. 이책을읽고있는여러분이개발자인가? 그렇다면 분노의타이핑 을할것인가? 아니면 ios 6를이용하여깔끔한애플리케이션을만들것인가? 말하지않아도이미답이나왔으리라생각된다. 이책은많은내용들을담고있다. 이전버전과는다른, 완전히새로운내용들과기능들이추가되었다. 예를들면, 아이폰 5와그이전디바이스모두에맞는 UI를만드는자동레이아웃 (Auto Layout) 기능이라든지, UICollectionView, 상태보존, 새로운지도, Event Kit, 소셜네트워크서비스들, 앱내결제, 그리고애플의서버를이용하는콘텐츠제공등이다. 여러분이개발하는, 또는개발하고자하는애플리케이션에이러한기능들을넣고싶지않은가? 세상을깜짝놀라게할애플리케이션을준비하고있다면 ios 6 SDK가그길을도와줄것이며, 이책이그옆에서친구가되어줄것이라믿는다. 번역을한다는것은그냥우리말문장으로만드는것이상을요구한다. 대상독자들이주로사용하는표현과형식으로설명해야하는작업이다. 아마도모든역자들이이러한목적과부담감에힘들어하고어려워할것이다. 저자가표현하고자하는문장뿐만아니라그이면의느낌과분위기도함께표현하려고하였고, 이러한노력이독자여러분께잘전달되길바라고있다. 번역한내용들을많이읽고확인했지만, 역자역시부족한사람인지라실수와모자람이있을것이다. 이러한실수와부족함을조금이나마채우고자카페 (http://cafe.naver.com/petersbook) 를운영하고있다. 이책을읽으면서궁금하거나재미있는내용이있다면, 또는자신이알고있는기술 ( 지식 ) 이있다면함께나눌수있기를희망한다. 여기에는독자와의 Q&A와샘플코드, 그리고오탈자에대한정보들이있을것이다. You are Almighty God! 작업이끝나면전능하신하나님에게고백하게된다. 그분의놀라운계획속에있게하심과그길을인도하신하나님을찬양한다. 언제나한결같이응원해주시는부모님들께감사의마음을전하고싶다. 특히작업기간동안함께시간을보내지못해도사랑과든든함으로항상옆에있어준나의사랑스런아내 ( 강승희 ) 에게너무너무고맙고사랑한다는말을전한다. 세상을놀라게하려고오늘도고생하고힘쓰는 트렌디앱 (http://www.trendyapp.co.kr) 임직원모두에게감사와격려를보낸다. 세상의문화를바꾸는트렌드를우리가만들것이라믿어요. 책이나올때가장중요하고

XXXII 역자머리말 큰역할은 편집 이라고믿는다. 그어렵고고된작업을최고의기술과열정으로진행하는 제이펍 에게감사와존경을표하지않을수없다. 역자의어색한문장과표현을세련된언어로바꿔주는 제이펍 의능력에놀라지않을수없다. 역자의초안을본다면, 제이펍 이얼마나멋지고대단한작업을하는지여러분이알수있을것이다. 마지막으로, 하루하루항상내마음에자리잡고있는사랑하는내아버지께말로다표현할수없는감사와사랑을전하고싶다. 2012 년의마지막날 황반석