iOS 7 핵심 노트: Xcode 5, 플랫 UI, API 중심으로 살펴보는 iOS 7



Similar documents
View Licenses and Services (customer)

SIGIL 완벽입문

소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기

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

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

URL Shortener 프로젝트로 배우는 Vert.X 프레임워크

win8_1±³

iOS 앱의 빌드, 패키징, 배포에 필요한 모든 것 iOS 빌드와 릴리스 - 빌드 자동화와 배포

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


CSG_keynote_KO copy.key

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


PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Windows 8에서 BioStar 1 설치하기

Office 365, FastTrack 4 FastTrack. Tony Striefel FastTrack FastTrack

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

iOS5_1±³

0.筌≪럩??袁ⓓ?紐껋젾 筌

SBR-100S User Manual

ÃѼŁ1-ÃÖÁ¾Ãâ·Â¿ë2

wtu05_ÃÖÁ¾

60

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

: AA ( ) TV : ios ( ).. 2

»êÇÐ-150È£

기본소득문답2

Web Scraper in 30 Minutes 강철

내지-교회에관한교리

USC HIPAA AUTHORIZATION FOR

5월전체 :7 PM 페이지14 NO.3 Acrobat PDFWriter 제 40회 발명의날 기념식 격려사 존경하는 발명인 여러분! 연구개발의 효율성을 높이고 중복투자도 방지할 것입니다. 우리는 지금 거센 도전에 직면해 있습니다. 뿐만 아니라 전국 26

1

1

인쇄하기, 내보내기, 이메일로 문서 보내기

**한빛소리02,3,4월호

IRISCard Anywhere 5

* pb61۲õðÀÚÀ̳ʸ

Visual Studio online Limited preview 간략하게살펴보기

Print

1809_2018-BESPINGLOBAL_Design Guidelines_out

슬라이드 1

**한빛소리07월호

B2B 매뉴얼

2014학년도 수시 면접 문항

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

PowerPoint Presentation

ThinkVantage Fingerprint Software

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

vRealize Automation용 VMware Remote Console - VMware

Best of the Best Benchmark Adobe Digital Index | APAC | 2015

178È£pdf

¿ÀǼҽº°¡À̵å1 -new

<C1A4C3A5C0CC3538C8A32E687770>

연구노트

? !

처음에 읽어 주십시오! 본 사용설명서의 내용은 예고 없이 변경할 수 있습니다. 본 사용설명서의 내용은 제조 공정의 각 과정에서 확인했습니다. 문제점이나 잘못된 점 이 있으면 개의치 마시고 당사로 연락해 주십시오. 본 사용설명서의 내용을 복제하는 것은 일부 또는 전부에

<5BB0EDB3ADB5B55D B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D D3135B9AEC7D72E687770>

01

병원이왜내지최종본1

¿©¼ºÀαÇ24È£

BACK TO THE BASIC C++ 버그 헌팅: 버그를 예방하는 11가지 코딩 습관

디지털 공학

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

Microsoft PowerPoint - chap04-연산자.pptx


¾ç¼ºÄÀ-2

152*220

안전한 웨 애플리케이션을 위한 자바스크립트 보안

ez-shv manual

....pdf..

PDF_Compass_32호-v3.pdf

ITFGc03ÖÁ¾š

슬라이드 1

Windows Live Hotmail Custom Domains Korea

Jkafm093.hwp

(초등용1)1~29

03 ¸ñÂ÷

Motor Control Solution

안전한 웨 애플리케이션을 위한 자바스크립트 보안

금강인쇄-내지-세대주의재고찰

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

CR hwp

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

CT083001C

2

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

가가 (MILK) (MILK) 게 게 동 게 가 원 게 게 가가 가가 라 가가 라 로 빠르게 로 빠르게 동 검색가 원 가르로 원 르로 검색 가가 게 르 가가 르 라 라 가 원 동 동 가 게 게 (Papergarden) (Papergarden) 검색 검색 2 2 바깥 원

804NW±¹¹®

µ¶µµºÎ·Ï1~64

라우터

추가 및 변경사항 ver 2.1 여러장의 이미지를 한번에 올리는 ZIP 불러오기 기능이 추가되었습니다. (p. 3) 테두리 설정 기능이 추가되었습니다. (p. 5) 크게보기 버튼의 위치를 선택하는 기능이 추가되었습니다. (p. 7) 세로가 긴 동영상의 권장크기가 800

<34BFF9C8A320B4DCB8E9B0EDC7D8BBF32E706466>

Studuino소프트웨어 설치

만들면서 배우는 Swift: 스위프트로 시작하는 iOS 개발

01.내지완완

워드프레스 플러그인 취약점 진단과 모의해킹

iOS 9 핵심 노트

[Brochure] KOR_TunA

Transcription:

Hanbit ebook Realtime 51 Xcode 5, 플랫 UI, API 중심으로 살펴보는 ios 7 ios 7 핵심 노트 야곰 지음

Xcode 5, 플랫 UI, API 중심으로 살펴보는 ios 7 ios 7 핵심 노트

ios 7 핵심 노트 Xcode 5, 플랫 UI, API 중심으로 살펴보는 ios 7 초판발행 2013년 12월 31일 지은이 야곰 / 펴낸이 김태헌 펴낸곳 한빛미디어(주) / 주소 서울시 마포구 양화로 7길 83 한빛미디어(주) IT출판부 전화 02-325-5544 / 팩스 02-336-7124 등록 1999년 6월 24일 제10-1779호 ISBN 978-89-6848-657-9 15000 / 정가 11,000원 책임편집 배용석 / 기획 이중민 / 편집 김연숙 디자인 표지 여동일, 내지 스튜디오 [밈], 조판 박진희 마케팅 김형진, 김진불, 조유미 / 마케팅 박상용, 서은옥, 김옥현 이 책에 대한 의견이나 오탈자 및 잘못된 내용에 대한 수정 정보는 한빛미디어(주)의 홈페이지나 아래 이메일로 알려주십시오. 한빛미디어 홈페이지 www.hanbit.co.kr / 이메일 ask@hanbit.co.kr Published by HANBIT Media, Inc. Printed in Korea Copyright c 2013 HANBIT Media, Inc. 이 책의 저작권은 야곰과 한빛미디어(주)에 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 복제 및 무단 전재를 금합니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 복제 및 무단 전재를 금합니다. 지금 하지 않으면 할 수 없는 일이 있습니다. 책으로 펴내고 싶은 아이디어나 원고를 메일(ebookwriter@hanbit.co.kr)로 보내주세요. 한빛미디어(주)는 여러분의 소중한 경험과 지식을 기다리고 있습니다.

지은이_ 야곰 yagom s blog(http://blog.yagom.net/)를 운영하는 ios 개발 파워 블로거이 자 ios 프로그래머. 아이폰 개발자 커뮤니티인 맥부기(http://cafe.naver.com/ mcbugi)에서 강좌를 연재 중이다. 컴퓨터 교육을 전공했으며 비전공자와 학생들 에게 컴퓨터 지식을 더 쉽고 재미있게 알리는 데 관심이 많다. 2010년부터 ios 개 발을 시작해 현재까지도 계속 ios 관련 개발에 열정을 쏟고 있다. 내일 걱정은 모 레하는 것이 좋다고 생각하며 스스로 긍정적인 마음가짐을 빼면 시체라고 말한다. 스스로 개발자라고 생각하지 않는 것을 보면 괴짜임이 틀림없다. 무엇보다 여행과 요리를 좋아한다.

저자 서문 CEO가 바뀌고 철학이 바뀌면서 주춤할 것 같았던 애플이 예상 밖으로 전진 행보 를 계속하고 있습니다. ios 7으로 업데이트 후에 큰 반발이 있을 것이라는 저의 예 상과는 달리, 많은 사람들이 ios 7을 반기고 있습니다. 제가 처음 ios 개발을 할 때만 해도 ios 개발 입문자가 많았었는데, 우리나라의 경 우 ios 점유율이 높지 않기 때문인지 ios 개발 입문자들이 점점 줄어드는 것 같아 안타깝게 생각합니다. 따라서 이 책이 ios 7 입문자와 중급자 분들께 조금이나마 도움이 되었으면 하는 바람입니다. 그리고 서문을 빌어 처음 한빛미디어와 좋은 인연을 맺을 수 있도록 길을 열어준 조희진 과장님과 이 책을 세상에 선보일 수 있도록 끝까지 많은 도움을 준 한빛미 디어의 이중민 대리님께 감사의 말을 전합니다. 항상 곁에서 응원해주고 어떠한 도움도 아끼지 않는 가족, 동료 여러분들께 사랑한 다는 말을 전하고 싶습니다. 앞으로도 함께 행복하게 살아갈 수 있기를 진심으로 소망합니다. 집필을 마치며 야곰

대상 독자 및 참고 사항 초급 초중급 중급 중고급 고급 이 책은 ios 7의 핵심 개념을 소개하는 책입니다. ios 개발의 기본을 알고 있으며 ios 7에 관심이 있는 분이라면 누구나 읽을 수 있습니다. 또한 이 책의 샘플 코드 를 실행하려면 다음에 소개하는 환경이 갖춰져 있어야 합니다. Mac OS X 매버릭스가 실행되는 매킨토시 컴퓨터 Xcode 5를 사용할 수 있는 개발 환경 4장에서 소개하는 예제의 소스 코드는 http://www.hanbit.co.kr/exam/2657 에서 다운로드할 수 있습니다.

한빛 ebook 리얼타임 한빛 ebook 리얼타임은 IT 개발자를 위한 ebook입니다. 요즘 IT 업계에는 하루가 멀다 하고 수많은 기술이 나타나고 사라져 갑니다. 인터넷을 아무리 뒤져도 조금이나마 정리된 정보를 찾는 것도 쉽지 않습니다. 또한 잘 정리되어 책으로 나오기까지는 오랜 시간이 걸립니다. 어떻게 하면 조금이라도 더 유용한 정보를 빠르게 얻을 수 있을까요? 어떻게 하면 남보다 조금 더 빨리 경험하고 습득한 지식을 공 유하고 발전시켜 나갈 수 있을까요? 세상에는 수많은 종이책이 있습니다. 그리고 그 종 이책을 그대로 옮긴 전자책도 많습니다. 전자책에는 전자책에 적합한 콘텐츠와 전자책 의 특성을 살린 형식이 있다고 생각합니다. 한빛이 지금 생각하고 추구하는, 개발자를 위한 리얼타임 전자책은 이렇습니다. 1. ebook Only - 빠르게 변화하는 IT 기술에 대해 핵심적인 정보를 신속하게 제공합니다. 500페이지 가까운 분량의 잘 정리된 도서(종이책)가 아니라, 핵심적인 내용을 빠르게 전달하기 위해 조금은 거칠지만 100페이지 내외의 전자책 전용으로 개발한 서비스입니다. 독자에게는 새로운 정보를 빨리 얻을 수 있는 기회가 되고, 자신이 먼저 경험한 지식과 정보를 책으로 펴내고 싶지만 너무 바빠서 엄두를 못 내시는 선배, 전문가, 고수분에게는 보다 쉽게 집필하실 기회가 되리라 생각합니다. 또한 새로운 정보와 지식을 빠르게 전달하기 위해 O'Reilly의 전자책 번역 서비스도 하고 있습니다. 2. 무료로 업데이트되는, 전자책 전용 서비스입니다. 종이책으로는 기술의 변화 속도를 따라잡기가 쉽지 않습니다. 책이 일정한 분량 이상으로 집필되고 정리되어 나오는 동안 기술은 이미 변해 있습니다. 전자책으로 출간된 이후에도 버전 업을 통해 중요한 기술적 변화가 있거나, 저자(역자)와 독자가 소통하면서 보완되고 발전된 노하우가 정리되면 구매하신 분께 무료로 업데이트해 드립니다.

3. 독자의 편의를 위하여, DRM-Free로 제공합니다. 구매한 전자책을 다양한 IT기기에서 자유롭게 활용하실 수 있도록 DRM-Free PDF 포맷으로 제공합니다. 이는 독자 여러분과 한빛이 생각하고 추구하는 전자책을 만들어 나가기 위해, 독자 여러분이 언제 어디서 어떤 기기를 사용하시더라도 편리하게 전자책을 보실 수 있도록 하기 위함입니다. 4. 전자책 환경을 고려한 최적의 형태와 디자인에 담고자 노력했습니다. 종이책을 그대로 옮겨 놓아 가독성이 떨어지고 읽기 힘든 전자책이 아니라, 전자책의 환경에 가능한 최적화하여 쾌적한 경험을 드리고자 합니다. 링크 등의 기능을 적극적으로 이용할 수 있음은 물론이고 글자 크기나 행간, 여백 등을 전자책에 가장 최적화된 형태로 새롭게 디자인하였습니다. 앞으로도 독자 여러분의 충고에 귀 기울이며 지속해서 발전시켜 나가도록 하겠습니다. 지금 보시는 전자책에 소유권한을 표시한 문구가 없거나 타인의 소유권한을 표시한 문구가 있다면 위법하게 사용하고 계실 가능성이 높습니다. 이 경우 저작권법에 의해 불이익을 받으실 수 있습니다. 다양한 기기에 사용할 수 있습니다. 또한 한빛미디어 사이트에서 구입하신 후에는 횟수에 관계없이 다운받으실 수 있습니다. 한빛미디어 전자책은 인쇄, 검색, 복사하여 붙이기가 가능합니다. 전자책은 오탈자 교정이나 내용의 수정보완이 이뤄지면 업데이트 관련 공지를 이메일로 알려드리며, 구매하신 전자책의 수정본은 무료로 내려받으실 수 있습니다. 이런 특별한 권한은 한빛미디어 사이트에서 구입하신 독자에게만 제공되며, 다른 사람에게 양도나 이전되지 않습니다.

차례 01 ios 7 1 1.1 Xcode 5 1 1.2 플랫 UI 2 1.3 64비트 지원 5 02 Xcode 5 7 2.1 새롭게 추가된 템플릿 7 2.2 새로워진 도큐먼트 8 2.3 Source Control 10 2.4 편리해진 계정 관리 11 2.5 Capabilities 17 2.6 Open Quickly 18 2.7 옵션 설정이 쉬워진 검색 내비게이터 20 2.8 인터페이스 빌더 21 2.9 애셋 카탈로그 24 2.10 사용자화 도큐먼트 25 2.11 더욱 강력해진 컴파일러와 디버거 26 2.11.1 모듈 26 2.11.2 자동 백터화 27 2.11.3 데이터 팁 28 2.12 발전하는 디버깅 29

03 플랫 UI 33 3.1 플랫 UI의 콘셉트 33 3.2 달라진 기본 컴포넌트 33 3.2.1 상태 바 34 3.2.2 내비게이션 바 34 3.2.3 검색 바 35 3.2.4 탭 바 35 3.2.5 툴 바 36 3.2.6 바 버튼 36 3.2.7 스크롤 뷰 37 3.2.8 스플릿 뷰 컨트롤러 37 3.2.9 테이블 뷰 38 3.2.10 피커 뷰 38 3.2.11 기본 버튼 모양들 39 3.2.12 페이지 컨트롤 39 3.2.13 프로그래스 뷰 39 3.2.14 리프레쉬 컨트롤 40 3.2.15 라운드-렉탱글 버튼 40 3.2.16 슬라이더 40 3.2.17 스테퍼 41 3.2.18 스위치 41 3.2.19 텍스트 필드 41 3.2.20 액션 시트 42 3.2.21 얼럿 뷰 42 3.3 ios 7용 아이콘 43

04 추가된 새로운 기능 45 4.1 Air Drop 45 4.1.1 Air Drop 예제 45 4.2 다이내믹스 51 4.2.1 주요 클래스 51 4.2.2 다이내믹스 예제 52 4.3 텍스트 키트 59 4.3.1 텍스트 키트 예제 60 4.4 백그라운드 페치 66 4.4.1 주요 클래스 66 4.4.2 백그라운드 페치 예제 66 4.5 P2P 연결 70 4.5.1 주요 클래스 71 4.5.2 P2P 연결 예제 73 4.6 사파리 서비스 프레임워크 84 4.6.1 주요 메서드 소개 84 4.6.2 사파리 서비스 예제 84 4.7 스프라이트키트 프레임워크 89 4.7.1 스프라이트키트 프레임워크의 구조 90 4.7.2 프로젝트 템플릿 구성 92 4.7.3 주요 클래스 93 4.7.4 움직임 및 물리 효과를 제어하는 클래스 96 4.7.5 라이프 사이클 101 4.7.6 스프라이트키트 예제 102

05 64비트 변환 118 5.1 64비트 앱의 포인터 118 5.2 시스템 프레임워크의 분리 118 5.3 Xcode 5의 64비트 지원 119 5.4 64비트 전환 방법 119 5.4.1 데이터 타입의 변화가 앱에 끼칠 수 있는 영향 120 5.4.2 ILP32와 LP64 변환 120 5.4.3 데이터 타입 변경 시 주의 사항 121 5.4.4 그 외 주의사항 121 06 새로워진 게임 센터 123 6.1 Exchanges 도입 124 6.2 리더보드 수의 제한 증가 124 6.3 하위 도전 과제 항목 추가 가능 124 6.4 부정 행위 방지 기능 추가 124 6.5 변경된 API 124

1 ios 7 약 1년 주기로 업데이트되는 ios, 2013년 하반기에도 어김없이 새로운 버전의 ios가 세상에 빛을 드러냈습니다. 지난 ios의 어떤 업데이트보다 파격적이라는 생각이 들 정도입니다. 디자인 측면에서 살펴보면 플랫 UI라는 새로운 디자인 개념이 도입되었고 많은 기 능 부분이 추가/변경되었습니다. 또한 ios 업데이트와 함께 Xcode도 업데이트되 었고, OS X도 업데이트되었습니다. 이런 대대적인 변화 속에 개발자들은 새로운 환경이 반가우면서도 두렵기만 합니다. 항상 그렇듯 매번 새로운 숙제에 당면하게 되는 것이지요. 이 책은 여러분과 제가 당면한 이 새로운 과제를 헤쳐나가기 위해 준비했습니다. 우리는 새로워진 개발 환경을 시작으로 외형적으로 바뀐 ios 7, 그리고 새로운 기 능을 추가한 ios 7을 차례대로 만나볼 것입니다. 이 책에서 다루는 내용은 너무 넘 치지도, 너무 부족하지도 않은 내용이 될 것입니다. 1장은 ios 7의 핵심 변경 사항에 관한 필자의 간략한 의견을 담았습니다. 가벼운 마음으로 개발자 입장에서 ios 7의 무엇에 주목해야 하는지를 알아두면 좋을 것으 로 생각합니다. 1.1 Xcode 5 2011년 초 새롭게 버전업 했던 Xcode가 약 2년 6개월만에 버전 5를 선보였습니 다. Xcode 3에서 Xcode 4로 업데이트했다는 사실은 ios 개발자 입장에서는 굉 장히 큰 변화였습니다. Xcode 4는 맥 개발 센터에서만 지속적인 베타 테스트를 진행했었고, ios에서는 계속 Xcode 3 위주로 베타 버전을 공개했습니다. 그런데 1장 ios 7 1

ios 4.2를 처음 정식으로 공개하면서 그간 ios 개발 센터에서는 테스트하지 않 았던 Xcode 4를 전격적으로 공개했기 때문입니다. 기본적인 인터페이스부터 많 은 변화가 있었지만 이러한 갑작스러운 공개도 혼란의 원인이 되었습니다. 하지만 Xcode 5는 Xcode 4를 처음 공개했을 때만큼 심한 변화는 아니며 넓은 관점에서 보았을 때 11가지의 대표적인 기능 변경 및 추가가 있었습니다. 자세한 사항은 2장. Xcode 5 에서 살펴봅니다. 그림 1-1 Xcode 5 1.2 플랫 UI 플랫 UI는 이번 ios 7의 변화를 주도한 핵심이라고도 할 수 있습니다. 현실 세계 를 반영하는 디자인을 추구한다는 스큐어모피즘 Skeuomorphism 에서 사용자가 원하 는 내용과 기능에 집중한다는 미니멀리즘 Minimalism 을 추구하는 플랫 디자인으로 바 뀌었죠. 이는 ios 7이 공개된 이후부터 지금까지 많은 이야기를 들었을 것으로 생 각하고 자세한 설명은 하지 않겠습니다. 그런데 이렇게 바뀐 디자인에는 개발 환경 면에서도 중요한 이유가 있습니다. 1장 ios 7 2

기존 스큐어모피즘 중심의 디자인을 구현하려면 아무래도 그래픽 효과를 구현할 때 픽셀이라는 점 단위로 색상과 위치 정보를 담는 비트맵 방식을 사용하게 됩니 다. 이 방식은 말 그대로 픽셀 단위마다 정보를 담기 때문에 해상도가 다르면 이 정 보를 그대로 사용할 수 없습니다. 따라서 다양한 크기의 해상도 비율에 대응하려면 여러 개의 비트맵 이미지를 미리 만들고 이를 대체하는 방식을 사용해야 합니다. 이는 패키징 파일의 크기가 커지고 그에 따른 정보 처리의 양이 늘어나므로 시스 템 리소스를 많이 점유하는 비효율적인 상황이 발생하기 때문이죠. ios도 이제 안 드로이드와 같은 해상도 비율의 파편화를 피할 수 없게 되었고 앞으로 발표될 예상 라인업을 생각해보면 비효율적인 상황이 발생하는 것은 자명합니다. 그림 1-2 비트맵 방식의 그래픽 효과 구현(출처: 위키피디아) 1장 ios 7 3

이러한 상황에서 플랫 UI는 훌륭한 해결책이 됩니다. 플랫 UI는 비트맵 대신 벡터 방식의 그래픽 효과를 구현합니다. 선과 면의 좌표 값 정보로 전체상을 구성해서 그래픽 효과를 구현하기 때문에 이미지를 확대하거나 축소할 때 품질의 변화가 없 고 값 정보만 저장해 저장 용량이 작다는 장점이 있습니다. 이는 다양한 크기의 해 상도 비율이 바뀌더라도 값 정보만 저장되어 있다면 비트맵 방식보다 훨씬 빠르고 효율적으로 다양한 크기의 해상도 비율에 대응할 수 있다는 의미입니다. 이번 ios 7의 플랫 UI와 함께 디자인 구현 시 매우 강력한 권장 사항인 자동 레이아웃은 이 벡터 그래픽 방식을 차용했습니다. 그림 1-3 벡터 방식의 그래픽 효과 구현(출처: 위키피디아) 1장 ios 7 4

플랫 UI는 이처럼 단순한 디자인의 변화는 물론이고 장차 다양한 ios 기기의 그래 픽 효과 구현에 있어 개발상의 효율을 추구했다는 사실을 꼭 기억하기 바랍니다. 1.3 64비트 지원 ios 7, 정확히 말해 ios 7과 A7 칩을 탑재한 모든 ios 기기는 이제 64비트를 지 원합니다. A7 칩의 기반인 ARMv8 아키텍처는 레지스터가 두 배가 되었고, 이로 인해 한 번에 처리할 수 있는 연산의 양이 늘어났습니다. 단, 아직까지 32비트 기반의 기기와 앱이 대다수인 현실을 고려하면 아직 64비트 앱이 보편화되는 것은 시기상조가 아닐까라는 생각도 듭니다. 애플은 기존 64비트 앱으로의 변환 방법을 담은 가이드를 배포하며, 당분간 A7 칩을 탑재하지 않은 기 기에는 유니버설 바이너리 형태로 64비트와 32비트를 동시에 지원한다고 합니다. 이런 경우 64비트 앱의 성능을 제대로 발휘할 수 있는 기기는 A7 칩을 탑재한 일부 기기뿐이며, 이는 32비트 기기에서는 64비트 앱의 성능을 제대로 누리지 못한다 는 것이 문제입니다. 앞으로 A7 혹은 그 이상의 상위 칩을 탑재한 ios 기기가 늘어 나면서 점차 자연스럽게 해결되기는 하겠지만 이 책을 쓴 2013년 말에서 2014년 도까지는 아직 과도기 단계라고 보는 것이 정확할 것입니다. 그리고 64비트와 32비트의 개념을 정확히 이해해야 합니다. 64비트와 32비트의 가장 큰 차이는 한 번에 처리할 수 있는 데이터의 전송량과 이를 처리하는 단위가 커졌다는 것입니다. 즉, 처리할 데이터의 양이 작은 앱이라면 사실 32비트나 64비 트나 아주 큰 성능상의 이점을 누리는 것은 아니라는 뜻입니다. 1장 ios 7 5

그림 1-4 32비트와 64비트의 차이(출처: arstechnica.com) 메모리 L1 캐시 레지스터 ALU ALU 32비트 64비트 64비트로 큰 이득을 보는 분야는 동영상이나 오디오 인코딩, 그리고 그래픽 효과 에 크게 의존하는 일부 게임 등입니다. 애플이 밝혔듯이 사진 앨범의 연도별 타일 처리나 동영상 처리, 그리고 WWDC 2013에 ios 7 발표와 함께 공개한 인피니티 블레이드 Infinite Blade 3 등의 성능 향상에도 큰 도움을 줍니다. 애플이 64비트를 지원하는 큰 이유는 사실 ios 7의 방향성이 앞으로 데스크톱 못 지않은, 그리고 OS X와도 비견될 수 있는 다양한 앱을 개발하는 토대를 구축하는 데 있다고 생각합니다. 즉, 당장은 64비트가 큰 도움이 되지는 않더라도 미래까지 생각하면 이제 모바일 환경에서도 64비트에 기반을 둔 앱 개발은 필수가 될 것으 로 전망할 수 있습니다. 1장 ios 7 6

2 Xcode 5 ios 7이 발표되면서 많은 ios 개발자들이 큰 정신적 충격과 패닉에 빠졌습니다. 2 장에서는 ios 7의 개발을 책임질 통합 개발 환경 IDE 인 Xcode의 달라진 점들을 간 략히 살펴보려 합니다(이 책에서 다루는 Xcode의 버전은 5.0.2를 기준으로 합니 다). 2.1 새롭게 추가된 템플릿 Xcode 4와 비교하면 기존의 템플릿은 그대로 유지된 상태에서 SpriteKit Game 이라는 새로운 템플릿이 추가되었습니다. ios 7에서 새롭게 추가된 SpriteKit 프 레임워크에 대응하는 템플릿입니다. 자세한 설명은 4.7 스프라이트키트 프레임워 크 를 참고하기 바랍니다. 그림 2-1 ios 7의 주요 프로젝트 템플릿 2장 Xcode 5 7

2.2 새로워진 도큐먼트 Xcode에서 가장 많이 사용하는 기능을 꼽으라면 저는 주저 없이 도큐먼트를 이야 기합니다. 개발하다가 모르는 ios의 라이브러리를 찾아보려면 당연히 도큐먼트 를 열기 때문입니다. 보통 능숙한 개발자라면 단축키를 사용해서 도큐먼트를 열겠 지만, ios 개발을 처음 접하는 분이라면 주로 Organizer를 실행해 도큐먼트를 찾 아볼 것입니다. 그런데 도큐먼트가 항상 있던 Organizer에서 사라졌습니다. 즉, Documentation 탭이 사라졌습니다. 그림 2-2 Xcode 4의 Organizer 2장 Xcode 5 8

그림 2-3 Xcode 5의 Organizer 하지만 도큐먼트는 기존처럼 [Help] 메뉴 혹은 단축키 [alt + command +?]로 도 큐먼트를 실행할 수 있습니다. 처음 실행하면 New Features in Xcode 5 도큐 먼트를 확인할 수 있습니다. 또한 새로운 창으로 변모함과 동시에 책갈피도 바뀌었습니다. 기존의 책갈피는 문 서별로 지정해줄 수 있었지만, 이제는 특정 섹션별로 책갈피를 따로 설정해줄 수 있습니다. 그림 2-4처럼 세션이 파란색의 책갈피로 지정된 것을 볼 수 있습니다. 2장 Xcode 5 9

그림 2-4 새로운 도큐먼트 창 2.3 Source Control 최근에는 소스 코드의 버전 관리를 위해 Git 또는 subversion을 사용하는 프로젝 트가 많습니다. 필자 역시 실무에서 버전 관리 시스템을 사용하는데, 지금까지는 이를 Organizer의 Repositories 탭에서 관리했습니다. 그런데 그림 2-3에서도 확인했듯이 Organizer에서는 Repositories 탭에서도 없어졌습니다. 대신 [Source Control]이라는 메뉴가 생겼습니다. 그림 2-5 [Source Control] 메뉴 그런데 그림 2-6에서 볼 수 있듯이 [Source Control]을 눌렀을 때 동작하는 기능 은 [Check Out ] 뿐이고 [Commit], [Push], [Update] 등의 메뉴는 비활성화되 어 있습니다. 2장 Xcode 5 10

그림 2-6 비활성화된 [Source Control] 메뉴 비활성화된 이유는 2.4 편리해진 계정 관리 에서 살펴보겠습니다. 2.4 편리해진 계정 관리 앞에서 사용한 [Source Control]의 메뉴가 활성화되려면 Preference 를 살 펴봐야 합니다. Preference 역시나 약간의 변화가 있습니다. Accounts 와 Navigation 탭이 추가되었습니다. 계정 관리를 위해 살펴볼 탭은 Accounts 탭입니다. 2장 Xcode 5 11

그림 2-7 Xcode 5의 Preference Accounts 탭을 선택한 후 [+] 버튼을 누르고 Add Repository 를 선택하면 Repository 계정 정보를 입력할 수 있습니다. Git 혹은 Subversion이라는 Type 을 선택한 다음 원하는 프로젝트를 연결할 수 있습니다. 그림 2-8 새로운 Repository 계정 설정 2장 Xcode 5 12

그림 2-9 Repository 계정 설정 확인 그뿐만 아니라 Git이나 Subversion 이외에 애플 아이디도 추가할 수 있게 되어 있 습니다. 별도의 소스 코드 관리 서버 정보도 추가해 줄 수 있습니다. 그림 2-10 다양한 계정 등록 2장 Xcode 5 13

애플 아이디는 애플 개발자 프로그램에 가입한 애플 아이디를 추가하면 됩니다. [View Details]를 누르면 ios와 Mac 관련 개발자 서명이나 개발/배포 프로비저 닝 프로파일을 관리할 수 있습니다. 특히 처음 Xcode를 설치한 컴퓨터에는 ios 개발 센터에 등록한 개발자 서명 정보 나 프로비저닝 프로파일 등을 다운로드할 수도 있습니다. ios 개발 센터에 들어갈 일이 하나 줄게 되는 셈입니다. 그림 2-11 개발자 서명과 프로비저닝 프로파일 정보 확인 2장 Xcode 5 14

그림 2-12 개발/배포 서명서 정보 확인 이제 [Source Control] [Check Out]을 누른 후 Accounts 탭에서 등록한 Repositories을 선택할 수 있습니다. Repositories 을 선택한 다음 [Next]를 누 르면 컴퓨터의 원하는 폴더에 프로젝트를 저장할 수도 있습니다. Xcode는 갈수록 크나큰 발전을 거듭하는 것이 아닌가 싶습니다. 2장 Xcode 5 15

그림 2-13 프로젝트 등록 그림 2-14 실행된 프로젝트와 활성화된 [Source Control] 메뉴 항목 2장 Xcode 5 16