iOS9_내지(최종)_4도_ indd
|
|
- 명은 선
- 8 years ago
- Views:
Transcription
1
2 ios 9 App Development Essentials by Neil Smyth Copyright 2015 Neil Smyth. All rights reserved. Korean Translation Copyright 2016 by J.Pub. co. The Korean edition was published by arrangement with Neil Smyth through Agency-One, Seoul. 이 책의 한국어판 저작권은 에이전시 원을 통해 저작권자와의 독점 계약으로 제이펍에 있습니다. 신저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전제와 무단복제를 금합니다. 초판 1쇄 발행 2015년 4월 25일 지은이 닐 스미스 옮긴이 황반석 펴낸이 장성두 펴낸곳 제이펍 출판신고 2009년 11월 10일 제 호 주소 경기도 파주시 문발로 141 뮤즈빌딩 403호 전화 / 팩스 홈페이지 / 원고투고 jeipub@gmail.com 독자문의 readers.jpub@gmail.com / 교재문의 jeipubmarketer@gmail.com 편집부 이민숙, 이 슬, 이주원 / 소통 기획팀 현지환, 민지환 용지 에스에이치페이퍼 / 인쇄 해외정판사 / 제본 광우제책사 ISBN (93000) 값 36,000원 이 책은 저작권법에 따라 보호를 받는 저작물이므로 무단 전재와 무단 복제를 금지하며, 이 책 내용의 전부 또는 일부를 이용하려면 반드시 저작권자와 제이펍의 서면동의를 받아야 합니다. 잘못된 책은 구입하신 서점에서 바꾸어 드립니다. 제이펍은 독자 여러분의 아이디어와 원고 투고를 기다리고 있습니다. 책으로 펴내고자 하는 아이디어나 원고가 있으신 분께서는 책의 간단한 개요와 차례, 구성과 저(역)자 약력 등을 메일로 보내주세요. jeipub@gmail.com
3
4 드리는 말씀 이 책에 기재된 내용을 기반으로 한 운용 결과에 대해 저자, 역자, 소프트웨어 개발자 및 제공자, 제이펍 출판사는 일체의 책임을 지지 않으므로 양해 바랍니다. 이 책에 등장하는 각 회사명, 제품명은 일반적으로 각 회사의 등록 상표 또는 상표입니다. 본문 중에는 TM, C, R 마크 등이 표시되어 있지 않습니다. 이 책에서 사용하고 있는 제품 버전은 독자의 학습 시점이나 환경에 따라 책의 내용과 다를 수 있습니다. 본문 중 원서 국가의 실정에만 국한되어 있는 내용이나 그림은 일부를 삭제하거나 국내 실정에 맞도록 변경하였으니 참고 바랍니다. 책 내용과 관련된 문의사항은 옮긴이나 출판사로 연락해 주시기 바랍니다. - 옮긴이 : 또는 naya.peter@gmail.com - 출판사 : readers.jpub@gmail.com
5 차 례 옮긴이 머리말 xxxiii CHAPTER 1 시작하기 _ ios 개발이 처음인 개발자를 위하여 ios 8 개발자를 위하여 예제 소스 코드 watchos 앱 개발 방법 배우기 오탈자 3 CHAPTER 2 애플 개발자 프로그램 가입하기 _ Xcode 7과 ios 9 SDK 다운로드하기 애플 개발자 프로그램 언제 애플 개발자 프로그램에 가입할까? 애플 개발자 프로그램에 가입하기 요약 8 CHAPTER 3 Xcode 7과 ios 9 SDK설치하기 _9 3.1 여러분의 맥이 인텔 기반인지 PowerPC 기반인지 확인하기 Xcode 7과 ios 9 SDK 설치하기 Xcode 시작하기 Xcode 설정에 애플 아이디 추가하기 개발자와 배포 서명 인증서 12 CHAPTER 4 Xcode 7가이드투어 _ Xcode 7 시작하기 ios 앱 사용자 인터페이스 만들기 컴포넌트 속성 변경하기 사용자 인터페이스에 객체 추가하기 Xcode 7에서 ios 9 앱 빌드하고 실행하기 실제 ios 디바이스에서 앱 실행하기 디바이스와 시뮬레이터 관리하기 빌드 에러 처리하기 27 차 례 v
6 4.9 애플리케이션 성능 모니터링하기 사용자 인터페이스 레이아웃 계층 구조의 분해도 요약 30 CHAPTER 5 Xcode 7플레이그라운드소개 _ 플레이그라운드란? 새로운 플레이그라운드 생성하기 스위프트 플레이그라운드 예제의 기초 결과 보기 타임라인 슬라이더 활성화하기 리치 텍스트 주석 추가하기 플레이그라운드 페이지로 작업하기 플레이그라운드에서 UIKit으로 작업하기 플레이그라운드에 리소스 추가하기 향상된 라이브 뷰로 작업하기 언제 스위프트 플레이그라운드를 사용하나? 요약 44 CHAPTER 6 스위프트 데이터 타입과 상수, 그리고 변수 _ 스위프트 플레이그라운드 이용하기 스위프트 데이터 타입 스위프트 변수 스위프트 상수 상수와 변수 선언하기 타입 어노테이션과 타입 추론 스위프트 튜플 스위프트 옵셔널 타입 형 변환과 타입 검사 요약 61 CHAPTER 7 스위프트 연산자와 표현식 _ 스위프트의 표현식 구문 기본 할당 연산자 스위프트 산술 연산자 복합 할당 연산자 증가 연산자와 감소 연산자 비교 연산자 불리언 논리 연산자 범위 연산자 삼항 연산자 비트 연산자 복합 비트 연산자 요약 73 vi 차 례
7 CHAPTER 8 스위프트 흐름 제어 _ 반복문 흐름 제어 스위프트 for 반복문 repeat while 반복문 반복문에서 빠져나오기 continue문 조건부 흐름 제어 if문 사용하기 if else 문 사용하기 if else if 문 사용하기 guard문 요약 83 CHAPTER 9 스위프트 switch문 _ 왜 switch문을 사용해야 하나? switch문 사용하기 스위프트 switch문 예제 case문 결합하기 switch문에서 범위 매칭 where문 사용하기 Fallthrough 요약 89 CHAPTER 10 스위프트 2함수와메서드그리고클로저의개요 _ 함수란 무엇인가? 메서드란 무엇인가? 스위프트 함수를 선언하는 방법 스위프트 함수 호출하기 내부 매개변수 이름과 외부 매개변수 이름 디폴트 함수 매개변수 선언하기 함수로부터 여러 개의 결과 반환하기 함수 매개변수의 변수 개수 변수인 매개변수 입출력 매개변수로 입력하기 매개변수인 함수 클로저 표현식 스위프트의 클로저 요약 103 CHAPTER 11 스위프트의 객체 지향 프로그래밍 기초 _ 객체란 무엇인가? 클래스란 무엇인가? 105 차 례 vii
8 11.3 스위프트 클래스 선언하기 클래스에 인스턴스 속성 추가하기 메서드 정의하기 클래스 인스턴스 선언하기와 초기화하기 클래스 인스턴스 초기화하기와 해제하기 메서드 호출하기와 속성 접근하기 저장된 속성과 계산된 속성 스위프트에서 self 사용하기 요약 113 CHAPTER 12 스위프트의 서브클래싱과 익스텐션의 개요 _ 상속, 클래스, 그리고 하위 클래스 스위프트 상속 예제 하위 클래스의 기능 확장하기 상속받은 메서드 오버라이딩하기 하위 클래스 초기화하기 SavingsAccount 클래스 사용하기 스위프트 클래스 익스텐션 요약 120 CHAPTER 13 스위프트의 배열과 딕셔너리 컬렉션으로 작업하기 _ 가변형 컬렉션과 불변형 컬렉션 스위프트 배열 초기화 스위프트 배열로 작업하기 배열에 항목 추가하기 타입이 혼합된 배열 생성하기 스위프트 딕셔너리 컬렉션 스위프트 딕셔너리 초기화 요약 130 CHAPTER 14 스위프트의 에러 핸들링 이해하기 _ 에러 핸들링 이해하기 에러 타입 선언하기 에러 던지기 에러를 던지는 메서드와 함수 호출하기 에러 객체에 접근하기 에러 캐칭 비활성화하기 defer 구문 사용하기 요약 136 viii 차 례
9 CHAPTER 15 ios 9애플리케이션구조와개발아키텍처 _ ios 9 운영체제 아키텍처의 개요 Model View Controller(MVC) 타깃-액션 패턴, IBOutlet, IBAction 서브클래싱 델리게이션 요약 141 CHAPTER 16 상호 작용하는 ios 9앱만들기 _ 새 프로젝트 만들기 사용자 인터페이스 만들기 예제 애플리케이션 빌드하기와 실행하기 액션과 아웃렛 추가하기 완성된 애플리케이션 빌드하기와 실행하기 키보드 숨기기 요약 153 CHAPTER 17 ios 9뷰,윈도우,그리고뷰계층이해하기 _ 뷰와 UIKit 클래스 계층에 대하여 UIWindow 클래스 뷰 계층 구조 인터페이스 빌더에서 상위 계층 보기 뷰 타입 요약 158 CHAPTER 18 ios 9자동레이아웃소개 _ 자동 레이아웃의 개요 정렬 고유한 콘텐츠 사이즈 콘텐츠 허깅 우선순위와 압축 제한 우선순위 컨스트레인트를 만드는 세 가지 방법 컨스트레인트에 대한 상세 내용 요약 164 CHAPTER 19 인터페이스 빌더에서 ios 9 자동 레이아웃 컨스트레인트로 작업하기 _ 자동 레이아웃의 간단한 예제 인터페이스 빌더에서 자동 레이아웃 켜고 끄기 인터페이스 빌더의 자동 레이아웃 기능들 인터페이스 빌더에서 새로운 컨스트레인트 생성하기 종횡비 컨스트레인트 추가하기 자동 레이아웃 문제 해결하기 요약 183 차 례 ix
10 CHAPTER 20 ios 9자동레이아웃예제 _ 프로젝트 준비하기 사용자 인터페이스 설계하기 자동 레이아웃 컨스트레인트 추가하기 컨스트레인트 우선순위 조절하기 애플리케이션 테스트하기 요약 191 CHAPTER 21 코드로 ios 9 자동 레이아웃 컨스트레인트 구현하기 _ 코드에서 컨스트레인트 생성하기 뷰에 컨스트레인트를 추가하기 자동 리사이징 끄기 예제 애플리케이션 뷰 생성하기 컨스트레인트 생성하기와 추가하기 컨스트레인트 제거하기 요약 199 CHAPTER 22 ios 9에서 교차 계층 구조 자동 레이아웃 컨스트레인트 구현하기 _ 예제 애플리케이션 아웃렛 구축하기 이전 컨스트레인트를 제거하는 코드 작성하기 교차 계층 구조 컨스트레인트 추가하기 애플리케이션 테스트하기 요약 204 CHAPTER 23 ios 9자동레이아웃시각적형식언어이해하기 _ 시각적 형식 언어 소개 시각적 형식 언어 예제 constraintswithvisualformat 메서드 이용하기 요약 209 CHAPTER 24 사이즈 클래스를 이용하여 유니버셜 ios사용자인터페이스설계하기 _ 사이즈 클래스 이해하기 인터페이스 빌더에서 사이즈 클래스 Any 디폴트 설정하기 인터페이스 빌더에서 사이즈 클래스로 작업하기 유니버셜 사용자 인터페이스 튜토리얼 아이패드 레이아웃 설계하기 유니버셜 이미지 에셋 추가하기 아이폰 레이아웃 설계하기 사이즈 클래스에 맞는 이미지 파일 추가하기 219 x 차 례
11 24.10 중복 컨스트레인트 제거하기 애플리케이션 테스트하기 요약 222 CHAPTER 25 Xcode 7에서 스토리보드 사용하기 _ 스토리보드 예제 프로젝트 생성하기 스토리보드 접근하기 스토리보드에 화면 추가하기 스토리보드 segue 구성하기 스토리보드 전환 구성하기 뷰 컨트롤러와 화면 연결하기 화면들 간에 데이터 전달하기 스토리보드 세그웨이 되돌리기 프로그램에서 스토리보드 세그웨이 호출하기 요약 232 CHAPTER 26 여러 스토리보드 파일로 화면 구성하기 _ 여러 스토리보드에 화면 구성하기 여러 스토리보드 간에 커넥션 구축하기 요약 237 CHAPTER 27 Xcode 7의 스토리보드를 이용한 ios 9탭바애플리케이션만들기 _ 탭 바의 개요 멀티뷰 애플리케이션의 뷰 컨트롤러 이해하기 탭 바 예제 애플리케이션 만들기 프로젝트 파일 살펴보기 콘텐츠 뷰에 대한 뷰 컨트롤러 추가하기 스토리보드에 탭 바 컨트롤러 추가하기 뷰 컨트롤러 사용자 인터페이스 설계하기 탭 바 아이템 구성하기 애플리케이션을 빌드하고 실행하기 요약 245 CHAPTER 28 Xcode 7의 스토리보드와 ios 9테이블뷰의개요 _ 테이블 뷰의 개요 정적 테이블 뷰 vs. 동적 테이블 뷰 테이블 뷰 델리게이트와 데이터소스 테이블 뷰 스타일 셀프-사이징 테이블 셀 동적 타입 테이블 뷰 셀 스타일 테이블 뷰 셀 재사용 요약 253 차 례 xi
12 CHAPTER 29 Xcode 7스토리보드를이용하여동적테이블뷰만들기 _ 예제 프로젝트 생성하기 스토리보드에 테이블 뷰 컨트롤러 추가하기 UITableViewController와 UITableViewCell 하위 클래스 생성하기 셀 재사용 식별자 선언하기 스토리보드 UITableView 프로토타입 셀 설계하기 AttractionTableViewCell 클래스 수정하기 테이블 뷰 데이터소스 생성하기 이미지 파일 다운로드하여 추가하기 애플리케이션 컴파일하고 실행하기 요약 264 CHAPTER 30 Xcode 7에서 스토리보드를 이용한 ios 9테이블뷰내비게이션구현하기 _ 내비게이션 컨트롤러 이해하기 스토리보드에 새로운 화면 추가하기 내비게이션 컨트롤러 추가하기 스토리보드 세그웨이 구축하기 AttractionDetailViewController 클래스 수정하기 prepareforsegue를 이용하여 스토리보드 화면 간에 데이터 전달하기 애플리케이션 테스트하기 요약 271 CHAPTER 31 ios 9스택뷰클래스로작업하기 _ UIStackView 클래스 소개 하위 뷰와 배치된 하위 뷰 이해하기 스택 뷰 설정 옵션들 코드 내에서 스택 뷰 생성하기 기존의 스택 뷰에 하위 뷰 추가하기 하위 뷰 숨기기와 삭제하기 요약 283 CHAPTER 32 ios 9 스택뷰튜토리얼 _ 스택 뷰 예제 앱에 대하여 첫 번째 스택 뷰 생성하기 배너 스택 뷰 생성하기 스위치 스택 뷰 생성하기 상위 스택 뷰 생성하기 배너 스택 뷰 추가하기 상위 스택 뷰에 마지막 하위 뷰 추가하기 동적으로 하위 뷰 추가하기와 삭제하기 요약 295 xii 차 례
13 CHAPTER 33 ios 9스플릿뷰마스터-디테일예제 _ 스플릿 뷰와 팝오버의 개요 예제 스플릿 뷰 프로젝트에 대하여 프로젝트 생성하기 프로젝트 다시 살펴보기 마스터 뷰 항목 구성하기 디테일 뷰 컨트롤러 구성하기 마스터 뷰에 선택된 것과 디테일 뷰 연결하기 DetailViewController 클래스 수정하기 애플리케이션 테스트하기 요약 304 CHAPTER 34 ios 9에서의 멀티태스킹 가이드 _ 아이패드 멀티태스킹 이용하기 픽처 인 픽처 멀티태스킹 멀티태스킹을 지원하는 아이패드 디바이스 멀티태스킹과 사이즈 클래스 멀티태스킹과 마스터-디테일 스플릿 뷰 코드에서 멀티태스킹 처리하기 생명 주기 메서드 호출 멀티태스킹 지원 활성화하기 멀티태스킹 거부 요약 314 CHAPTER 35 ios 9멀티태스킹예제 _ 멀티태스킹 예제 프로젝트 생성하기 이미지 파일 추가하기 Regular 폭 사이즈 클래스 레이아웃 설계하기 Compact 폭 사이즈 클래스 레이아웃 설계하기 멀티태스킹 환경에서 프로젝트 테스트하기 요약 322 CHAPTER 36 UIPageViewController를 이용한 페이지 기반의 ios 9애플리케이션구현하기 _ UIPageViewController 클래스 UIPageViewController 데이터소스 내비게이션 방향 스파인 위치 UIPageViewController 델리게이트 프로토콜 요약 326 차 례 xiii
14 CHAPTER 37 ios 9 UIPageViewController 예제 애플리케이션 _ Xcode 페이지 기반 애플리케이션 템플릿 프로젝트 생성하기 콘텐츠 뷰 컨트롤러 추가하기 데이터 모델 생성하기 UIPageViewController 초기화하기 UIPageViewController 애플리케이션 실행하기 요약 336 CHAPTER 38 ios 9에서 스위프트로 디렉터리 다루기 _ 애플리케이션 Documents 디렉터리 NSFileManager, NSFileHandle과 NSData 클래스 스위프트의 경로명 이해하기 디폴트 NSFileManger 객체에 대한 참조체 얻기 현재 작업 디렉터리 확인하기 Documents 디렉터리 확인하기 임시 디렉터리 확인하기 디렉터리 변경하기 새로운 디렉터리 생성하기 디렉터리 삭제하기 디렉터리의 내용 나열하기 파일 또는 디렉터리 속성 얻기 343 CHAPTER 39 ios 9에서 스위프트로 파일 다루기 _ NSFileManger 인스턴스 참조체 얻기 파일이 존재하는지 확인하기 두 개의 파일 내용 비교하기 파일의 읽기/쓰기/실행/삭제 기능 상태 확인하기 파일 옮기기와 이름 바꾸기 파일 복사하기 파일 삭제하기 심볼릭 링크 만들기 NSFileManager로 파일 읽고 쓰기 NSFileHandle 클래스로 파일 작업하기 NSFileHandle 객체 만들기 NSFileHandle 파일 오프셋과 검색하기 파일에서 데이터 읽기 파일에 데이터 쓰기 파일 자르기 요약 352 xiv 차 례
15 CHAPTER 40 스위프트에서의 ios 9디렉터리관리및파일입출력예제 _ 예제 애플리케이션 애플리케이션 프로젝트 만들기 사용자 인터페이스 설계하기 애플리케이션 시작 시 데이터 파일 체크하기 액션 메서드 구현하기 예제 애플리케이션 빌드하고 실행하기 356 CHAPTER 41 ios 9앱에서iCloud저장소사용준비하기 _ 아이클라우드 데이터 저장소 서비스 아이클라우드 저장소 사용할 애플리케이션 준비하기 ios 9 애플리케이션을 위해 아이클라우드 지원 활성화하기 아이클라우드 권한 파일 확인하기 여러 개의 아이클라우드 컨테이너 접근하기 아이클라우드 컨테이너 URL 요약 362 CHAPTER 42 ios 9 UIDocument클래스를이용하여파일관리하기 _ UIDocument 클래스 개요 UIDocument 클래스의 하위 클래스 만들기 충돌 해결과 도큐먼트 상태 UIDocument 예제 애플리케이션 UIDocument 하위 클래스 생성하기 사용자 인터페이스 설계하기 애플리케이션 데이터 구조 구현하기 contentsfortype 메서드 구현하기 loadfromcontents 메서드 구현하기 앱 시작 시 도큐먼트 로드하기 문서에 내용 저장하기 애플리케이션 테스트하기 요약 372 CHAPTER 43 ios 9 애플리케이션에서 icloud저장소사용하기 _ 아이클라우드 사용 가이드라인 아이클라우드 접근을 위한 icloudstore 애플리케이션 준비하기 뷰 컨트롤러 구성하기 viewdidload 메서드 구현하기 metadataquerydidfinishgathering 메서드 구현하기 savedocument 메서드 구현하기 아이클라우드 도큐먼트와 데이터 저장소 활성화하기 아이클라우드 애플리케이션 실행하기 아이클라우드 기반의 문서 확인하기와 삭제하기 382 차 례 xv
16 43.10 로컬 파일을 어디서나 사용할 수 있게 만들기 요약 384 CHAPTER 44 icloud를 이용한 ios 9키-값데이터동기화하기 _ 아이클라우드 키-값 데이터 저장소 애플리케이션간의 데이터 공유 데이터 저장소의 제약 충돌 해결하기 키-값 변경 알림 받기 아이클라우드 키-값 데이터 저장소 예제 애플리케이션의 아이클라우드 키 값 데이터 저장소 활성화하기 사용자 인터페이스 설계하기 뷰 컨트롤러 구현하기 viewdidload 메서드 수정하기 알림 메서드 구현하기 savedata 메서드 구현하기 애플리케이션 테스트하기 392 CHAPTER 45 SQLite를 이용한 ios 9데이터베이스구현 _ SQLite란? 구조적 질의 언어(SQL) 맥 OS X에서 SQLite 사용하기 SQLite 연동을 위한 ios 애플리케이션 프로젝트 준비하기 SQLite, 스위프트, 그리고 래퍼 FMDB 핵심 클래스 데이터베이스 생성하기와 열기 데이터베이스 테이블 생성하기 데이터베이스 테이블에서 데이터 가져오기 데이터베이스 테이블 닫기 요약 399 CHAPTER 46 스위프트와 FMDB를 이용한 SQLite기반iOS 9애플리케이션예제 _ SQLite 애플리케이션 예제에 대하여 SQLite 애플리케이션 프로젝트 준비 및 생성하기 FMDB 소스 코드 체크아웃하기 사용자 인터페이스 설계하기 데이터 베이스와 테이블 생성하기 SQLite 데이터베이스에 데이터를 저장하는 코드 구현하기 SQLite 데이터베이스에서 데이터를 가져오는 코드 구현하기 애플리케이션 빌드하고 실행하기 요약 408 xvi 차 례
17 CHAPTER 47 코어 데이터를 이용한 ios 9데이터베이스작업 _ 코어 데이터 스택 매니지드 객체 매니지드 객체 콘텍스트 매니지드 객체 모델 영구 저장소 코디네이터 영구 객체 저장소 엔티티 디스크립션 정의 매니지드 객체 콘텍스트 얻기 엔티티 디스크립션 얻기 매니지드 객체 하위 클래스 만들기 매니지드 객체의 속성 설정하기 매니지드 객체 저장하기 매니지드 객체 가져오기 조건에 따른 매니지드 객체 가져오기 가져온 매니지드 객체에 있는 데이터 접근하기 요약 417 CHAPTER 48 ios 9코어데이터튜토리얼 _ 코어 데이터 예제 애플리케이션 코어 데이터 기반의 애플리케이션 만들기 엔티티 디스크립션 만들기 매니지드 객체 하위 클래스 생성하기 사용자 인터페이스 설계하기 매니지드 객체 콘텍스트 접근하기 코어 데이터를 이용하여 영구 저장소에 데이터 저장하기 코어 데이터를 이용하여 영구 저장소에서 데이터 가져오기 예제 애플리케이션 빌드하고 실행하기 요약 425 CHAPTER 49 ios 9 CloudKit데이터저장소소개 _ CloudKit 개요 CloudKit 컨테이너 CloudKit 공용 데이터베이스 CloudKit 개인 데이터베이스 데이터 저장소와 전송량 할당 CloudKit 레코드 CloudKit 레코드 ID CloudKit 참조제 CloudKit 에셋 레코드 존 CloudKit 구독 아이클라우드 사용자 정보 얻기 432 차 례 xvii
18 49.13 CloudKit 대시보드 요약 435 CHAPTER 50 ios 9 CloudKit예제 _ 예제 CloudKit 프로젝트에 대하여 CloudKit 예제 프로젝트 생성하기 사용자 인터페이스 설계하기 아웃렛과 액션 구축하기 공용 데이터베이스 접근하기 키보드 숨기기 selectphoto 메서드 구현하기 클라우드 데이터베이스에 레코드 저장하기 notifyuser 메서드 구현하기 레코드 저장 메서드 테스트하기 클라우드 데이터베이스 레코드 검색하기 클라우드 데이터베이스 레코드 업데이트하기 클라우드 레코드 삭제하기 애플리케이션 테스트하기 요약 449 CHAPTER 51 ios 9 CloudKit구독예제 _ 푸시 알림과 CloudKit 구독 푸시 알림을 받기 위해 앱 등록하기 CloudKit 구독 구성하기 원격 알림 처리하기 didreceiveremotenotification 메서드 구현하기 클라우드 데이터베이스에서 레코드 가져오기 didfinishlaunchingwithoptions 메서드 구현하기 애플리케이션 테스트하기 요약 458 CHAPTER 52 ios 9멀티터치,탭,그리고제스처에대하여 _ 리스폰더 체인 다음 리스폰더로 이벤트 전달하기 제스처 탭 터치 터치 알림 메서드 터치 예측 터치 병합 D 터치 아이패드 프로와 애플 펜슬 스타일러스 요약 464 xviii 차 례
19 CHAPTER 53 ios 9터치,멀티터치,그리고탭예제애플리케이션 _ ios 9 탭과 터치 예제 애플리케이션 ios 9 터치 프로젝트 생성하기 사용자 인터페이스 설계하기 뷰에서 멀티터치 활성화하기 touchesbegan 메서드 구현하기 touchesmoved 메서드 구현하기 touchesended 메서드 구현하기 터치 좌표 얻기 Touch 예제 애플리케이션 빌드하고 실행하기 터치 예측 검사하기 터치 예측 검사하기 요약 471 CHAPTER 54 ios 9터치스크린제스처감지하기 _ ios 9 제스처 예제 애플리케이션 예제 프로젝트 생성하기 애플리케이션 사용자 인터페이스 설계하기 touchesbegan 메서드 구현하기 touchesmoved 메서드 구현하기 touchesended 메서드 구현하기 예제 애플리케이션 빌드하고 실행하기 요약 475 CHAPTER 55 ios 9 Gesture Recognizers를 통한 제스처 식별하기 _ UIGestureRecognizer 클래스 인식기 액션 메시지 불연속 제스처와 연속 제스처 제스처에서 데이터 얻기 탭 제스처 인식하기 핀치 제스처 인식하기 회전 제스처 감지하기 팬과 드래깅 제스처 인식하기 스와이프 제스처 인식하기 롱 터치(터치 앤 홀드) 제스처 인식하기 요약 481 CHAPTER 56 ios 9 제스처인식튜토리얼 _ 제스처 인식 프로젝트 만들기 사용자 인터페이스 설계하기 액션 메서드 구현하기 제스처 인식 애플리케이션 테스트하기 요약 485 차 례 xix
20 CHAPTER 57 3D터치포스핸들링튜토리얼 _ D 터치 예제 프로젝트 생성하기 프로젝트에 UIView 서브클래스 추가하기 UIView 서브클래스에 drawrect 메서드 찾기 터치 메서드 구현하기 터치 포스 앱 테스트하기 요약 489 CHAPTER 58 ios 3D터치퀵액션튜토리얼 _ 퀵 액션 예제 프로젝트 생성하기 정적 퀵 액션 키 프로젝트에 정적 퀵 액션 추가하기 동적 퀵 액션 추가하기 동적 퀵 액션 추가, 제거, 변경하기 퀵 액션 선택에 반응하기 퀵 액션 앱 테스트하기 요약 496 CHAPTER 59 ios 9 3D터치피크앤팝튜토리얼 _ 예제 프로젝트에 대하여 UIViewControllerPreviewDelegate 추가하기 피크 델리게이트 메서드 구현하기 디테일 컨트롤러 스토리보드 ID 할당하기 팝 델리게이트 메서드 구현하기 미리보기 델리게이트 등록하기 피크 앤 팝 동작 테스트하기 피크 퀵 액션 추가하기 요약 506 CHAPTER 60 ios 9앱에서터치아이디인증 구현하기 _ Local Authentication 프레임워크 터치아이디 가능 여부 검사하기 터치아이디 정책 판단하기 터치아이디 예제 프로젝트 터치아이디 사용 가능 여부 확인하기 터치아이디 인증 검색하기 애플리케이션 테스트하기 요약 514 CHAPTER 61 코어 그래픽스로 ios 9 2D그래픽그리기 _ 코어 그래픽스와 쿼츠 2D 소개 drawrect 메서드 515 xx 차 례
21 61.3 점, 좌표, 그리고 픽셀 그래픽 콘텍스트 쿼츠 2D로 색 작업하기 요약 518 CHAPTER 62 인터페이스 빌더 라이브 뷰와 ios 9임베디드프레임워크 _ Embedded 프레임워크 인터페이스 빌더 라이브 뷰 예제 프로젝트 생성하기 임베디드 프레임워크 추가하기 프레임워크에 드로잉 코드 구현하기 설계할 수 있는 뷰 만들기 관리할 수 있는 변수 만들기 요약 526 CHAPTER 63 코어 그래픽스와 코어 이미지를 사용하는 ios 9그래픽튜토리얼 _ ios 드로잉 예제 애플리케이션 새로운 프로젝트 생성하기 UIView의 하위 클래스 생성하기 UIView 하위 클래스에 drawrect 메서드 만들기 선 그리기 경로 그리기 사각형 그리기 타원 및 원 그리기 색으로 경로 채우기 호 그리기 차 베지어 곡선 그리기 차 베지어 곡선 그리기 점선 그리기 그림자 그리기 그라데이션 그리기 그래픽 콘텍스트에 이미지 그리기 코어 이미지 프레임워크를 통한 이미지 필터링 요약 549 CHAPTER 64 코어 애니메이션을 이용한 ios 9애니메이션기초 _ UIView 코어 애니메이션 블록 애니메이션 커브 이해하기 애니메이션 종료 시 알림 받기 아핀 변환 수행하기 아핀 변환 결합하기 애니메이션 예제 애플리케이션 만들기 변수 구현하기 553 차 례 xxi
22 64.8 UIView에 그리기 화면 터치 감지하기와 애니메이션 수행하기 애니메이션 애플리케이션 빌드하고 실행하기 요약 557 CHAPTER 65 ios 9 UIKit다이내믹스개요 _ UIKit 다이내믹스 이해하기 UIKit 다이내믹스 아키텍처 ios 9 애플리케이션에서 UIKit 다이내믹스 구현하기 다이내믹 애니메이터 초기화 중력 동작 구성하기 충돌 동작 구성하기 부착 동작 구성하기 스냅 동작 구성하기 푸시 동작 구성하기 UIDynamicItemBehavior 클래스 커스텀 동작을 만들기 위하여 동작들을 결합하기 요약 570 CHAPTER 66 ios 9 UIKit다이내믹스튜토리얼 _ UIKit 다이내믹스 예제 프로젝트 생성하기 다이내믹스 항목 추가하기 다이내믹스 애니메이터 인스턴스 생성하기 뷰에 중력 추가하기 충돌 동작 구현하기 앵커 포인트에 뷰 붙이기 두 개의 뷰 사이에 스프링 연결 구현하기 요약 579 CHAPTER 67 ios 9SpriteKit프로그래밍개요 _ SpriteKit이란? SpriteKit 게임의 핵심 요소들 예제 SpriteKit 게임 계층 구조 SpriteKit 게임 렌더링 루프 SpriteKit 레벨 편집기 요약 586 CHAPTER 68 ios 9스프라이트레벨에디터게임튜토리얼 _ SpriteKit 데모 게임에 대하여 SpriteKitDemo 프로젝트 생성하기 SpriteKit 게임 템플릿 프로젝트 살펴보기 인터페이스 방향 제한하기 592 xxii 차 례
23 68.5 GameScene SpriteKit 화면 파일 수정하기 궁수 화면 만들기 궁수 화면으로 전환하기 텍스처 아틀라스 추가하기 궁수 화면 설계하기 궁수 화면 준비하기 애니메이션 텍스처 아틀라스 준비하기 지정된 액션 참조체 생성하기 액션 파일의 액션 테스트하기 코드에서 지정된 액션 실행하기 화살 스프라이트 노드 생성하기 화살 발사하기 공 스프라이트 노드 추가하기 요약 610 CHAPTER 69 ios 9SpriteKit충돌핸들링튜토리얼 _ 카테고리 비트 마스크 정의하기 스프라이트 노드에 카테고리 마스크 할당하기 충돌 마스크와 접촉 마스크 구성하기 접촉 델리게이트 구현하기 게임 오버 요약 617 CHAPTER 70 ios 9SpriteKit파티클이미터튜토리얼 _ 파티클 이미터란? 파티클 이미터 에디터 SKEmitterNode 클래스 파티클 이미터 에디터 사용하기 파티클 이미터 노드 속성들 파티클 이미터 에디터 경험해보기 파티클 이미터 효과를 이용하여 공 터트리기 터지는 파티클 이미터 효과 추가하기 오디오 액션 추가하기 요약 630 CHAPTER 71 ios 9앱에iAd연동하기 _ 애플리케이션 내에서 iad 실행할 준비하기 iad 광고 형식 예제 iad 애플리케이션 생성하기 Xcode 프로젝트에 iad 프레임워크 추가하기 배너 광고 활성화하기 중간 사각 광고 추가하기 삽입 광고 구현하기 639 차 례 xxiii
24 71.8 iad 테스트 설정하기 요약 642 CHAPTER 72 ios 9멀티태스킹,백그라운드전송서비스,그리고패칭 _ ios 애플리케이션 상태 이해하기 멀티태스킹 애플리케이션 생명 주기에 대한 개요 멀티태스킹 지원 체크하기 ios 애플리케이션을 위한 멀티태스킹 활성화하기 백그라운드 실행 형태 백그라운드 패치의 개요 원격 알림의 개요 로컬 알림의 개요 백그라운드 전송 서비스의 개요 백그라운드 실행의 규칙 요약 651 CHAPTER 73 ios 9로컬알림예약하기 _ 로컬 알림 앱 프로젝트 생성하기 프로젝트에 사운드 파일 추가하기 퍼미션 요청하기 애플리케이션 델리게이트 메서드 찾기 로컬 알림 예약하기 애플리케이션 테스트하기 예약된 알림 취소하기 즉시 로컬 알림 호출하기 요약 656 CHAPTER 74 ios 9애플리케이션상태보존과복원 _ 보존과 복원 절차 보존과 복원 선택하기 복원 식별자 할당하기 UIKit의 디폴트 보존 기능들 부가적인 상태 정보 저장/복원하기 복원 절차 이해하기 일반적인 애플리케이션 상태 저장하기 요약 664 CHAPTER 75 ios 9상태보존과복원튜토리얼 _ 예제 애플리케이션 생성하기 상태 보존이 없는 애플리케이션 만들기 상태 보존 적용하기 복원 식별자 설정하기 666 xxiv 차 례
25 75.5 뷰 컨트롤러 상태를 인코딩/디코딩하기 스토리보드에 내비게이션 컨트롤러 추가하기 세 번째 뷰 컨트롤러 추가하기 복원 클래스 생성하기 요약 674 CHAPTER 76 MKMapItem을 이용하여 ios 9애플리케이션에지도통합하기 _ MKMapItem 클래스와 MKPlacemark 클래스 순방향 지오코딩과 역방향 지오코딩에 대한 소개 MKPlacemark 인스턴스 생성하기 MKMapItem으로 작업하기 MKMapItem 옵션들과 길찾기 설정하기 MKMapItem에 상세 정보 추가하기 요약 682 CHAPTER 77 ios 9 MKMapItem애플리케이션예제 _ MapItem 프로젝트 생성하기 사용자 인터페이스 설계하기 순방향 지오코딩을 이용하여 목적지 변환하기 지도 실행하기 애플리케이션 빌드하고 실행하기 요약 688 CHAPTER 78 ios 9코어로케이션프레임워크를이용하여위치정보얻기 _ 코어 로케이션 매니저 위치 접근 권한 요청하기 위치 정확도 설정하기 거리 필터 구성하기 로케이션 매니저 델리게이트 위치 업데이트 시작하기 CLLocation 객체에서 위치 정보 얻기 현재 위치 얻기 거리 계산하기 위치 정보와 멀티태스킹 요약 694 CHAPTER 79 ios 9로케이션예제애플리케이션 _ ios 9 로케이션 예제 프로젝트 생성하기 사용자 인터페이스 설계하기 CLLocationManger 객체 구성하기 Usage Description Key 설정하기 액션 메서드 구현하기 698 차 례 xxv
26 79.6 애플리케이션 델리게이트 메서드 구현하기 로케이션 애플리케이션 빌드하고 실행하기 700 CHAPTER 80 MapKit과 MKMapView클래스를이용하여iOS 9에서 지도 다루기 _ MapKit 프레임워크에 대하여 Map Regions 이해하기 대중교통 ETA 정보 얻기 MKMapView 튜토리얼에 대하여 지도 프로젝트 생성하기 네비게이션 컨트롤러 추가하기 MKMapView 인스턴스와 툴바 생성하기 위치 정보 퍼미션 얻기 Usage Description Key 설정하기 맵 뷰 구성하기 맵뷰 영역 변경하기 지도 형식 변경하기 MapView 애플리케이션 테스트하기 사용자 이동에 따른 맵 뷰 업데이트하기 요약 710 CHAPTER 81 ios 9에서 MapKit로컬검색사용하기 _ ios 9 로컬 검색 개요 MapSample 애플리케이션에 로컬 검색 추가하기 로컬 검색 텍스트 필드 추가하기 로컬 검색 수행하기 애플리케이션 테스트하기 요약 717 CHAPTER 82 ios 9맵길찾기와경로를얻기위하여MKDirections이용하기 _ MKDirections 개요 MapSample 애플리케이션에 길찾기와 경로 추가하기 프로젝트에 새로운 클래스 추가하기 결과 테이블 뷰 구성하기 결과 테이블 뷰 세그웨이 구현하기 경로 화면 추가하기 사용자의 현재 위치 식별하기 경로와 방향 얻기 경로 세그웨이 구축하기 애플리케이션 테스트하기 요약 730 xxvi 차 례
27 CHAPTER 83 ios 9맵킷플라이오버튜토리얼 _ MKMapView 플라이오버 맵 타입 MKMapCamera 클래스 MKMapKit 플라이오버 예제 사용자 인터페이스 설계하기 맵 뷰와 카메라 구성하기 카메라의 위치 변경하는 애니메이션 맵 플라이오버 앱 테스트하기 요약 737 CHAPTER 84 ios 9익스텐션소개 _ ios 익스텐션 개요 익스텐션 타입 익스텐션 생성하기 요약 744 CHAPTER 85 ios 9투데이익스텐션위젯 튜토리얼 _ 예제 익스텐션 위젯에 대하여 예제 프로젝트 생성하기 프로젝트에 익스텐션 추가하기 익스텐션 파일 살펴보기 위젯 사용자 인터페이스 설계하기 코드로 원하는 콘텐츠 사이즈 설정하기 위젯 뷰 컨트롤러 수정하기 익스텐션 테스트하기 익스텐션에서 포함하는 앱 열기 요약 756 CHAPTER 86 ios 9포토에디팅익스텐션만들기 _ 포토 에디팅 익스텐션 생성하기 포토 에디팅 익스텐션 접근하기 Info.plist 파일 구성하기 사용자 인터페이스 설계하기 PHContentEditingController 프로토콜 포토 익스텐션과 조정 데이터 콘텐츠 받기 필터 액션 구현하기 이미지를 사진 앱으로 반환하기 애플리케이션 테스트하기 요약 770 차 례 xxvii
28 CHAPTER 87 ios 9액션익스텐션만들기 _ 액션 익스텐션의 개요 액션 익스텐션 예제에 대하여 액션 익스텐션 프로젝트 생성하기 액션 익스텐션 프로젝트 생성하기 액션 표시명 변경하기 액션 익스텐션 사용자 인터페이스 설계하기 콘텐츠 받기 수정된 데이터를 호스트 앱에 돌려보내기 익스텐션 테스트하기 지원되는 컨텐츠 타입 선언하기 요약 783 CHAPTER 88 ios 9액션익스텐션에서데이터 받기 _ 예제 프로젝트 생성하기 사용자 인터페이스 설계하기 Mobile Core Service 프레임워크 임포트하기 애플리케이션에 공유 버튼 추가하기 익스텐션으로부터 데이터 받기 애플리케이션 테스트하기 요약 789 CHAPTER 89 날짜와 위치 기반의 미리 알림 제작을 위한 ios 9 EventKit이용하기 _ EventKit 프레임워크의 개요 EKEventStore 클래스 데이터베이스에 있는 캘린더 접근하기 미리 알림 생성하기 알람 생성하기 예제 프로젝트 생성하기 날짜/시간 기반의 미리 알림 화면을 위한 사용자 인터페이스 설계하기 미리 알림 코드 구현하기 키보드 숨기기 위치 기반 미리 알림 화면 설계하기 위치 기반 미리 알림 생성하기 Usage Description Key 설정하기 애플리케이션 테스트하기 요약 805 CHAPTER 90 ios 9카메라와포토라이브러리접근하기 _ UIImagePickerController 클래스 UIImagePickerController 인스턴스 생성하기와 구성하기 UIImagePickerController 델리게이트 구성하기 808 xxviii 차 례
29 90.4 디바이스 지원 여부 확인하기 동영상과 이미지 저장하기 요약 811 CHAPTER 91 ios 9카메라예제애플리케이션 _ 예제 애플리케이션의 개요 카메라 프로젝트 생성하기 사용자 인터페이스 설계하기 액션 메서드 구현하기 델리게이트 메서드 작성하기 애플리케이션 빌드하고 실행하기 817 CHAPTER 92 AVPlayer와 AVPlayerViewController를 이용하여 ios 9비디오재생하기 _ AVPlayer 클래스와 AVPlayerViewController 클래스 ios 무비 플레이어 예제 애플리케이션 HTTP 연결에 대한 보안 관련 예외 처리 사용자 인터페이스 설계하기 비디오 재생 초기화하기 애플리케이션 빌드하고 실행하기 코드로 AVPlayerViewController 인스턴스 생성하기 요약 823 CHAPTER 93 ios 9멀티태스킹픽처인픽처튜토리얼 _ 픽처 인 픽처 멀티태스킹 개요 AVPlayerDemo 앱에 픽처 인 픽처 지원 추가하기 내비게이션 컨트롤러 추가하기 오디오 세션 카테고리 설정하기 델리게이트 구현하기 픽처 인 픽처 지원 제거하기 다른 델리게이트 메서드들 요약 831 CHAPTER 94 AVAudioPlayer를 이용하여 ios 9에서 오디오 재생하기 _ 지원하는 오디오 포맷 재생 알림 받기 재생 제어하기와 모니터링하기 오디오 예제 애플리케이션 만들기 프로젝트 리소스에 오디오 파일 추가하기 사용자 인터페이스 설계하기 액션 메서드 구현하기 AVAudioPlayer 객체 생성하고 초기화하기 836 차 례 xxix
30 94.9 AVAudioPlayerDelegate 프로토콜 메서드 구현하기 애플리케이션 빌드하고 실행하기 요약 838 CHAPTER 95 AVAudioRecorder로 ios 9에서 오디오 녹음하기 _ AVAudioRecorder 튜토리얼의 개요 Record 프로젝트 만들기 사용자 인터페이스 설계하기 AVAudioRecorder 인스턴스 생성하기 액션 메서드 구현하기 델리게이트 메서드 구현하기 애플리케이션 테스트하기 844 CHAPTER 96 ios 9애플리케이션에트위터와페이스북통합하기 _ UIActivityViewController 클래스 Social 프레임워크 Accounts 프레임워크 UIActivityViewController 클래스 이용하기 SLComposeViewController 클래스 이용하기 요약 850 CHAPTER 97 UIActivityViewController를 이용한 ios 9소셜네트워크통합튜토리얼 _ 페이스북 소셜 앱 생성하기 사용자 인터페이스 설계하기 아웃렛과 액션 생성하기 selectimage 메서드와 델리게이트 메서드 구현하기 키보드 숨기기 메시지 포스팅하기 소셜 애플리케이션 실행하기 요약 857 CHAPTER 98 SLRequest를 이용한 ios 9페이스북과트위터통합 _ SLRequest 클래스와 Account 프레임워크 이용하기 SLRequest를 이용하여 트위터 통합하기 SLRequest를 이용하여 페이스북 통합하기 요약 864 CHAPTER 99 SLRequest를 이용한 ios 9트위터통합튜토리얼 _ TwitterApp 프로젝트 생성하기 사용자 인터페이스 설계하기 865 xxx 차 례
31 99.3 뷰 컨트롤러 클래스 수정하기 트위터 API 접근하기 gettimeline 메서드 호출하기 테이블 뷰 델리게이트 메서드 애플리케이션 빌드하고 실행하기 요약 872 CHAPTER 100 SKStoreProductViewController클래스로판매하기 _ SKStoreProductViewController 클래스 예제 프로젝트 생성하기 사용자 인터페이스 생성하기 StoreKit 제품 뷰 컨트롤러 표시하기 델리게이트 메서드 구현하기 애플리케이션 테스트하기 요약 878 CHAPTER 101 ios 9애플리케이션에앱내결제구축하기 _ 앱 내 결제 옵션 앱 스토어가 호스팅하도록 콘텐츠 업로드하기 앱 내 결제 아이템 구성하기 제품 요청 전송하기 결제 큐 접근하기 트랜젝션 옵저버 객체 결제 시작하기 트랜젝션 처리 트랜젝션 복원 앱 내 결제 테스트하기 요약 886 CHAPTER 102 앱 내 결제를 위한 ios 9애플리케이션준비하기 _ 예제 애플리케이션에 대하여 Xcode 프로젝트 생성하기 앱 내 결제를 위한 App ID 등록하고 활성화하기 itunesconnect에서 애플리케이션 구성하기 앱 내 결제 아이템 생성하기 요약 890 CHAPTER 103 ios 9앱내결제튜토리얼 _ 애플리케이션 사용자 인터페이스 스토리보드 설계하기 결제 뷰 컨트롤러 클래스 생성하기 앱 델리게이트 클래스에 홈 뷰 컨트롤러 저장하기 895 차 례 xxxi
32 103.5 ViewController 클래스 완성하기 PurchaseViewController 클래스 완성하기 애플리케이션 테스트하기 문제 해결 요약 901 CHAPTER 104 ios 9앱내결제를위하여앱스토어가호스팅하는 콘텐츠 구성하고 생성하기 _ 앱 내 결제에서 호스팅된 콘텐츠를 위한 애플리케이션 구성하기 콘텐츠 패키지를 호스팅하는 앱 내 결제 해부하기 앱 내 결제에서 호스팅된 콘텐츠를 위한 애플리케이션 구성하기 호스팅된 콘텐츠 패키지 아카이빙하기 호스팅된 콘텐츠 패키지 검증하기 호스팅된 콘텐츠 패키지 업로드하기 요약 ios 배포 인증서 검증하기 907 CHAPTER 105 앱 스토어에 ios 9애플리케이션등록을위한준비와제출하기 _ 앱 아이콘 추가하기 시작 화면 설계하기 프로젝트를 팀에 할당하기 배포를 위해 애플리케이션 아카이브하기 itunes Connect에서 애플리케이션 설정하기 애플리케이션 검증하기와 제출하기 검수를 위해 앱 구성하고 제출하기 915 찾아보기 917 xxxii 차 례
33 옮 긴 이 머 리말 ios 9에서 생긴 큰 변화라고 한다면, Swift 2.0의 등장과 새로워진 사용자 인터페이스들이라 고 할 수 있습니다. 저도 개발자이지만, 개발자에게 가장 힘든 일이라고 한다면 새로운 언어를 배우는 일이라 생각합니다. Swift가 처음 나왔을 때, 많은 개발자가 이 새로운 언어를 배우느 라 무척 고생했을 것입니다. 그런데 매우 충격적인 사실은 힘들게 배웠던 Swift 언어가 2.0으로 업데이트되면서 이전에 알던 것들이 필요 없어지는(심지어 달라지는) 일이 생겼다는 것입니다. 이러한 변화들은 (늘 그렇듯) Swift 언어의 성능을 향상시켜 앱을 보다 빠르고 편리하게 제작할 수 있도록 해주었습니다. 또한, ios 9에서는 개발자가 스택뷰, 포스터치, 3D 터치 퀵 액션, 피 크 앤 팝 등 새로운 사용자 인터페이스를 사용할 수 있도록 하였습니다. 저는 어찌 보면 이미 포화 상태가 된 모바일 앱 시장에서 새로운 아이디어와 재미있는 기능을 구현할 수 있는 새로 운 무기가 생겼다고 생각합니다. 애플이 제공해주는 새로운 기능들과 기기들을 가지고 더 강 력하고 참신한 앱을 구상할 수 있게 된 것입니다. 이 책의 이전 버전들을 읽어보신 독자라면 이 책의 매력 중 하나가 바로 구성이라는 것을 아 실 겁니다. 대부분의 컴퓨터 관련 서적은 앞 장을 읽고 이해하지 못한다면 이후에 나오는 내 용을 이해할 수 없게 되어 있습니다. 물론 이러한 구성 역시 장점이 많습니다만, 원하는 기능 이나 내용을 바로 찾아 확인하기가 어렵다는 단점 또한 가지고 있습니다. 이 책은 각 장들이 독립적으로 구성되어 있어, 어떤 주제에 대해서 내용을 설명하는 장과 그 내용을 실습해보는 장이 따로 만들어져 여러분이 보고 싶은 기능이나 내용을 바로 찾아서 읽을 수 있습니다. 번역을 하면서 늘 느끼게 되지만, 번역 작업이 쉽지만은 않습니다. 저 혼자 원문을 읽고 이해 하고 끝나는 게 아니라, 우리말로 옮긴 후에 다시 그 문장을 독자가 이해할 수 있도록 다듬 는 작업의 반복입니다. 그래서 항상 마지막 단계에서 고민하게 됩니다. 어떻게 표현해야 저자 의 의도를 좀 더 잘 이해할 수 있게 전달할까? 언제나 저 스스로에게 하는 질문입니다. 고심 옮긴이 머리말 xxxiii
34 하고 고심해서 작업한 것이지만, 그래도 늘 아쉬움과 부족함이 있기에 인터넷 카페( naver.com/petersbook)를 운영하고 있습니다. 여러분께서 많은 의견을 보내주시고 또 서로 토론 해주시기 바랍니다. 부끄럽게도 표지에 제 이름만이 실려 있으나, 이 책이 나오기까지 많은 분의 관심과 노력이 없 었다면 불가능했음을 잘 압니다. 언제나 가야 할 길을 보여주시고 인도하시는 하나님께 감사 와 찬양을 드립니다. 이제 막 돌이 지난 아기이지만, 자신이 세상에 가장 빠른 줄 알고 뛰어다 니는 사랑하는 나의 딸(단비)과 가족에게도 사랑을 전합니다. 이 책을 위해 힘써 주신 여러 관 계자에게도 머리 숙여 감사의 마음을 표하고 싶네요. 그리고 늘 그립고 존경하는 아버지, 사 랑합니다! 옮긴이 황반석 xxxiv 옮긴이 머리말
35 C H A P T E R 1 시작하기 이 책의 목적은 ios 9 SDK 와 Xcode 7, 그리고 스위프트(Swift) 2 프로그래밍 언어를 이용하여 ios 애플리케이션을 생성하는 데 필요한 기술을 가르치는 것이다. 여러분이 ios 개발이 처음인지, 아니면 ios 8으로 작업한 경험이 있어서 ios 9의 기능들과 최 신 스위프트 프로그래밍 언어를 빠르게 습득하고자 하는지에 따라 이 책의 활용 방법이 크게 달라질 것이다. 하지만 이 책은 양쪽 모두를 대상으로 하고 있으므로 안심해도 좋다. 1.1 ios 개발이 처음인 개발자를 위하여 만약 여러분이 ios 개발이 처음이라면, 이 책 내용 전체가 여러분에게 필요할 것이다. 기초부터 시작하는 이 책은 ios 개발 환경을 구축하는 데 필요한 전반적인 내용을 제공하며, ios 9의 아키텍처와 스위프트 프로그래밍에 관해 소개한 다음에 ios 애플리케이션과 사용 자 인터페이스 설계에 관하여 자세히 살펴볼 것이다. 아울러 파일 핸들링, 데이터베이스 관리, 앱 내 결제(In-App Purchase), 그래픽 드로잉, 그리고 애니메이션을 다루며, 터치스크린 핸들링, 제스처 인식, 멀티태스킹, iad 통합, 위치 관리, 로컬 노티피케이션, 카메라 접근, 그리고 비디 오 및 오디오 재생에 관한 지원도 다룬다. 이외에도 자동 레이아웃, 트위터 및 페이스북 통합, 앱 내 결제 내용을 관리하는 앱 스토어 등을 포함한 다른 기능들도 다룬다. 게다가 SpriteKit 기반의 게임 개발, 로컬 맵 검색, 그리고 UIKit 다이내믹스를 이용한 사용자 인터페이스 1
36 애니메이션 등을 포함한 다른 기능들도 다룬다. 스위프트 플레이그라운드, 사이즈 클래스를 이용한 유니버셜 사용자 인터페이스 설계, 인터 페이스 빌더 라이브 뷰, 임베디드 프레임워크, CloudKit 데이터 저장소, 그리고 터치아이디 (TouchID) 인증을 포함하여 Xcode 7을 이용한 ios 개발의 다른 기능들도 다룰 것이다. 또한 스위프트 2(Swift 2)에서의 새로운 에러 처리 방법과 스택 뷰(Stack View) 기반의 사용자 인 터페이스 설계, 다중 스토리보드 지원, 아이패드 멀티태스킹, 맵 플라이오버(flyover) 지원, 3D 터치, 그리고 픽처 인 픽처(Picture in Picture) 미디어 재생이라는 ios 9과 Xcode 7의 새로운 핵 심 기능들에 대해서도 자세히 다룰 예정이다. 이 책의 목표는 여러분의 ios 9용 앱을 만드는 데 필요한 기술들을 가르치는 것이다. 또한 이 책은 여러분이 ios 9 SDK와 Xcode 7을 다운로드한 상태이며, 인텔 기반의 맥과 개발하고자 하는 앱에 대한 아이디어를 가진 채 시작할 준비가 되었다고 가정한 상태에서 진행할 것이다. 1.2 ios 8 개발자를 위하여 여러분이 핵심만 골라 배우는 ios 8 프로그래밍 (제이펍) 책을 이미 읽었거나 ios 8 SDK에 대 한 경험이 있다면, ios 9의 새로운 내용들을 바로 읽어보고 싶을 것이다. ios 9과 Xcode 7에 도입된 모든 변경 사항과 기능들을 반영하기 위해 이 책의 모든 내용이 업 데이트되었다. 이전 버전의 책에 포함되지 않았거나 ios 9과 Xcode 7 관련하여 다시 집필된 장들은 다음과 같다. Xcode 7 플레이그라운드 소개 애플 개발자 프로그램 가입하기 스위프트의 서브클래싱과 익스텐션의 개요 스위프트 2에서의 에러 처리 이해하기 여러 개의 스토리보드 파일에 화면 구성하기 ios 9 스택 뷰 클래스로 작업하기 ios 9 스택 뷰 튜토리얼 ios 9에서의 멀티태스킹 소개 ios 9 멀티태스킹 예제 2 CHAPTER 1 시작하기
37 3D 터치 핸들링 튜토리얼 ios 9의 3D 터치 퀵 액션 튜토리얼 ios 9의 3D 터치 피크 앤 팝 튜토리얼 ios 9 맵킷 플라이오버 튜토리얼 ios 9 멀티태스킹 픽처 인 픽처 튜토리얼 추가로 다음의 내용도 변경되었다. 이 책의 모든 장은 새로워진 Xcode 7을 반영하기 위하여 필요한 모든 내용이 업데이트되 었다. 이 책의 모든 내용과 예제는 스위프트 2(Swift 2)를 사용한다. 멀티터치 핸들링 장은 ios 9의 새로운 예측 터치(predictive touches) 기능을 설명하기 위하여 업데이트되었다. 이 책에서 설명하는 지도 관련 내용에는 Transit ETA 정보를 얻는 단계를 포함하였다. SpriteKit 장은 Xcode 7의 새로운 라이브 애니메이션 (Live Animation)과 액션 에디터(Action Editor)를 사용하도록 업데이트되었다. 1.3 예제 소스 코드 이 책에 포함된 예제의 소스 코드와 Xcode 프로젝트 파일은 다음의 웹 사이트에서 다운로드 받을 수 있다. URL watchos 앱 개발 방법 배우기 만약에 여러분이 애플 워치(Apple Watch)용 WatchKit 앱을 개발할 계획이라면, 핵심만 골라 배 우는 애플 워치 프로그래밍 (제이펍)을 추천한다. 1.4 watchos 앱 개발 방법 배우기 3
38 1.5 오탈자 이 책 내용에 대한 정확성을 위하여 모든 노력을 다했지만, 다루는 주제의 범위와 복잡성 때 문에 오탈자가 발생할 수 있다. 발견된 문제는 다음 웹 페이지를 통해 해결 방법과 수정 사항 을 밝히도록 하겠다. URL 만약 역자의 인터넷 카페에 표시되지 않은 오류를 발견했다면, 카페에 글을 쓰거나 역자(naya. 또는 이메일을 보내주기 바란다. 4 CHAPTER 1 시작하기
39 C H A P T E R 2 애플 개발자 프로그램가입하기 ios 9 기반의 아이폰 애플리케이션 개발의 첫 번째 단계는 애플 개발자 프로그램(Apple Developer Program)이 주는 혜택에 대해 알고 언제 비용을 지불하여 가입하는 것이 좋을지 결정하는 것부 터 시작한다. 이러한 목적에 맞춰 이번 장은 개발자 프로그램에 가입할 때 드는 비용과 혜택을 설명하고, 등록 절차에 대해서도 살펴볼 것이다. 2.1 Xcode 7과 ios 9 SDK 다운로드하기 최신 버전의 ios SDK와 Xcode는 맥용 앱 스토어(App Store)에서 무료로 다운로드받을 수 있다. Xcode는 무료이기 때문에 그냥 받으면 되지만, 애플 개발자 프로그램에 지금 등록할 것인지 아니면 나중에 앱 개발을 배우는 도중에 등록해도 괜찮은지에 대한 질문이 여전히 남는다. 2.2 애플 개발자 프로그램 애플 개발자 프로그램의 멤버십은 개인 개발자로 등록하는 경우, 현재 1년에 99달러다. 물론, 기업 수준의 멤버십도 가입할 수 있다. ios 9과 Xcode 7이 나오기 전에는 실제 ios 기기에서 애플리케이션을 테스트할 수 있는 프로 비저닝 프로파일과 인증서를 만들 수 있다는 점이 개발자 프로그램의 주요 혜택들 중 한 가지 였다. 하지만 이제는 애플 아이디(Apple ID)만 있으면 실제 ios 기기에서 앱을 테스트할 수 있 게 되었다. 5
40 애플 개발자 프로그램에 돈을 내고 가입하지 않아도 할 수 있는 것들이 많아졌지만, 어떤 종 류의 앱들은 프로그램 멤버십 없이는 완전한 테스트를 실시할 수가 없다. 예로 아이클라우드 (icloud), 애플 페이(Apple Pay), 게임 센터(Game Center), 앱 내 결제(In-App Purchasing)는 애플 개 발자 프로그램 멤버십에 가입했을 때만 테스트할 수 있다. 더 중요한 점은 애플 개발자 프로그램 멤버만이 애플의 ios 기술 지원 엔지니어들에게 기술 문의(1년에 단 두 의 문의만 무료이긴 하지만)에 대한 답변을 받을 수 있고, 다른 ios 개발자들로부 터 도움을 받거나 안내를 받을 수 있으며, 다른 개발자들이 겪었던 문제들을 어떻게 해결했는 지도 알 수 있는 애플 개발자 포럼(Apple Developer forum)에 접근할 수 있게 된다. 또한, 프로그램 멤버십은 Xcode와 ios의 베타(Beta) 버전을 미리 받아서 사용해볼 수 있게 해 준다. 그리고 무엇보다 애플 개발자 프로그램에서 가장 중요한 점은 개발자 프로그램 멤버만이 앱 스토어를 통한 애플리케이션 판매 및 배포를 할 수 있다는 점이다. 따라서 앱 스토어에 여러분의 애플리케이션을 올리려면 어느 특정 시점에는 개발자 프로그램 멤버십에 가입해야만 한다. 그렇다면 언제 가입해야 할까? 2.3 언제 애플 개발자 프로그램에 가입할까? 애플 개발자 프로그램 멤버십이 여러 혜택을 제공하며, 특히 애플리케이션을 판매하기 위해서 는 필수적이라는 것이 분명해졌다. 그렇다 하더라도 지금 가입할지 아니면 나중에 가입할지는 개인적인 상황에 따라 다를 것이다. 만약 여러분이 ios 애플리케이션 개발에 관해 공부를 하 는 첫 단계이거나 아직까지 멋진 아이디어가 없다면, 프로그램 맴버십이 없어도 필요한 것들 을 충분히 이용할 수 있을 것이다. 개발 관련 기술을 습득하고 애플리케이션 개발에 관한 아 이디어를 충분히 가다듬은 후에 개발자 프로그램에 가입해도 늦지 않다. 반면에 조만간 프로그램 개발이 끝나고 배포를 계획하고 있거나 아이클라우드, 앱 내 결제, 애 플 페이 등의 고급 기능들을 사용해야 한다면 가능한 빨리 개발자 프로그램에 가입해야 한다. 2.4 애플 개발자 프로그램에 가입하기 만약 지금 여러분이 속한 회사에서 ios 애플리케이션을 개발하려고 하는 것이라면, 회사가 이미 멤버십 가입을 했는지 확인하는 것이 필요하다. 가입되어 있다면 회사의 프로그램 관리 6 CHAPTER 2 애플 개발자 프로그램 가입하기
41 자에게 연락하여 개발 팀원으로 참여할 수 있도록 애플 개발자 프로그램 멤버 센터의 초대장 을 요청하자. 이 과정이 진행되면 애플로부터 멤버십을 활성화시킬 수 있는 링크가 포함된 이메일 이 온다. 또한, 여러분의 회사가 개발자 프로그램 멤버십 가입을 아직 하지 않았다면 다음 링 크를 통해 가입할 수 있다. URL 애플은 가입 옵션으로 기업과 개인의 두 가지 방법을 제공한다. 개인으로 가입하려면 신분을 증명하기 위한 신용카드 정보를 제공해야 한다. 기업으로 가입하려면 사업자 등록증 및 Dun & Bradstreet의 D-U-N-S 번호와 같이 법인에 대한 정보를 확인해주는 문서를 제출해야 한다. 개인용 멤버 등록은 보통 24시간 이내에 애플로부터 활성화(activation) 이메일이 올 것이다. 기 업용 멤버 등록은 추가적인 확인 사항이 많기 때문에 훨씬 긴 시간이 소요되며, 경우에 따라 수주 또는 수개월이 걸릴 수도 있다. 활성화를 기다리는 동안에도 아래 URL을 통해 애플 아이디와 패스워드를 사용하여 로그인 하면 제한적이긴 해도 접근은 가능하다. URL 로그인한 후 화면 상단의 Your Account 탭을 선택하면 개발자 프로그램 가입 상태가 Enrollment Pending 으로 보일 것이다. 또한, 활성화 이메일을 받은 후에 멤버 센터에 접속하면 그림 2-1과 같이 다양한 형태의 자료에 접근할 수 있다. 그림 애플 개발자 프로그램에 가입하기 7
42 2.5 요약 애플 개발자 프로그램에 언제 가입할지 결정하는 것은 ios 9 애플리케이션 개발 초기 단계에 서 중요한 부분이다. 이번 장에서는 프로그램에 가입했을 때 받게 되는 혜택들에 대해 설명하 였고, 개발자 프로그램 멤버십에 언제 가입하면 좋은지와 가입 절차는 어떻게 되는지 간략하 게 살펴보았다. 다음 장에서는 ios 9 SDK와 Xcode 7 개발 환경을 다운로드받아 설치하는 방 법에 대해 알아보자. 8 CHAPTER 2 애플 개발자 프로그램 가입하기
43 C H A P T E R 3 Xcode 7과 ios 9 SDK설치하기 ios 앱은 ios SDK와 Xcode 7 개발 환경으로 개발된다. Xcode 7은 통합 개발 환경(IDE, Integrated Development Environment)으로 여러분의 ios 애플리케이션에 대한 코딩, 컴파일, 테 스트 및 디버그를 할 수 있다. 또한, Xcode 7에는 인터페이스 빌더(Interface Builder)라는 기능이 있어 UI킷 프레임워크가 제공하는 컴포넌트들을 이용하여 애플리케이션의 사용자 인터페이 스 부분을 그래픽적으로 설계할 수 있도록 해준다. 이번 장에서는 ios 9 SDK와 Xcode 7을 맥 OSX에 설치하는 방법에 대해 살펴보겠다. 3.1 여러분의 맥이 인텔 기반인지 PowerPC 기반인지 확인하기 ios 애플리케이션은 오직 인텔(Intel) 기반의 맥(Mac) OS X 시스템에서만 개발할 수 있다. 혹시 오래된 PowerPC 기반 맥을 가지고 있다면, ios 앱 개발을 위해서 최신 시스템을 구입해야만 한다. 여러분의 맥이 어떤 프로세서를 사용하고 있는지 확실하지 않다면 화면 왼쪽 상단에 있 는 애플 메뉴에서 이 Mac에 관하여(About This Mac) 를 선택한다. 화면에 표시되는 대화상자에서 프로세서(Processor) 로 시작되는 항목을 살펴보자. 그림 3-1은 인텔 기반의 시스템이라는 것을 보여주고 있다. 만약 대화상자에 표시된 항목에 인텔 기반의 프로세서가 아니라고 표시된다면, 아쉽게도 여 러분이 현재 사용하고 있는 시스템은 ios 앱 개발을 할 수 없는 시스템이다. 9
44 게다가 ios 9 SDK와 Xcode 7 환경은 맥 OS X 또는 그 이후의 맥 OS X 버전이 필요하 다. 만약 이 Mac에 관하여(About This Mac) 대화상자에 표시된 맥 OS X 버전이 이거나 그 이상의 최신 버전이 아니라면, 소프트웨어 업데이트...(Software Update...) 항목을 선택하여 적 절한 운영체제로 업그레이드하자. 그림 Xcode 7과 ios 9 SDK 설치하기 최신 버전의 Xcode와 ios SDK를 얻는 최고의 방법은 애플 맥 앱 스토어(Apple Mac App Store) 에서 다운로드하는 것이다. 여러분의 맥 OS X 시스템에 있는 앱 스토어(App Store)를 실행하여 검색 박스에 Xcode를 입력한 다음, 무료(Free) 버튼을 클릭하여 설치를 시작하자. 3.3 Xcode 시작하기 SDK와 Xcode가 성공적으로 설치되었다면, 다음 단계는 Xcode를 실행하여 샘플 ios 9 애플 리케이션을 생성하는 것이다. Xcode를 실행하기 위해 파인더(Finder)를 열고 Xcode로 검색하 자. 앞으로는 Xcode를 자주 사용할 것이므로 더 편하고 빠르게 실행할 수 있도록 Xcode 아이 콘을 독(dock)에 드래그 앤 드롭하자. 독으로 옮긴 Xcode 아이콘을 클릭하여 Xcode를 실행시 킨다. Xcode를 처음 실행하면, 추가적인 컴포넌트들을 설치하기 위한 작업을 하게 될 수도 있 다. 그 단계를 따라 진행하는 과정 도중에 여러분의 사용자명(username)과 패스워드(password) 를 입력해야 할 것이다. 여러분의 시스템에서 Xcode가 처음 실행된다면 다음과 같은 환영(Welcome) 화면이 표시될 것 이다. 10 CHAPTER 3 Xcode 7과 ios 9 SDK 설치하기
45 그림 Xcode 설정에 애플 아이디 추가하기 애플 개발자 프로그램에 가입하기로 결정했는지와는 상관없이, 여러분의 애플 아이디를 Xcode에 추가하는 것이 좋다. Xcode를 설치하고 실행했다면, Xcode Preferences... 메뉴를 선택한 후, 이어서 Accounts 탭을 선택한다. Accounts 탭 화면에서, 그림 3-3과 같이 + 버튼을 클릭하여 나타난 메뉴에서 Add Apple ID...를 선택한다. 그림 Xcode 설정에 애플 아이디 추가하기 11
46 입력 패널이 나타나면 여러분의 애플 아이디와 패스워드를 입력하고 Add 버튼을 클릭하여 계 정을 추가하자. 3.5 개발자와 배포 서명 인증서 애플 아이디를 등록했다면, 다음 단계는 서명 인증서(signing identities)를 생성하는 것이다. 현 재의 서명 인증서를 확인하기 위해 Accounts 패널에서 새롭게 추가한 애플 아이디를 선택하고 View Details... 버튼을 클릭하면, 이용할 수 있는 서명 인증서들의 목록이 나타날 것이다. 만약 에 애플 개발자 프로그램에 아직 가입하지 않았다면 ios Development와 Mac Development 인증서만 생성할 수 있을 것이다. ios Development 서명 인증서를 생성하기 위해서 그림 3-4 에 표시된 Create 버튼을 클릭한다. 그림 3-4 애플 개발자 프로그램 등록을 완료했다면 ios Distribution 항목 옆에 있는 Create 버튼도 활성 화될 것이며, 이 버튼을 클릭하면 애플 앱 스토어에 앱을 등록하기 위해 필요한 서명 인증서 를 생성할 수 있다. ios 9 SDK를 설치하고 Xcode 7 실행에도 성공했으니, 이제는 Xcode에 대해 자세히 살펴보자. 12 CHAPTER 3 Xcode 7과 ios 9 SDK 설치하기
47 C H A P T E R 4 Xcode 7가이드투어 ios 애플리케이션을 개발하고 테스트하는 거의 모든 작업은 Xcode 환경을 이용하여 이루어 진다. 이번 장의 목표는 두 가지다. 주로, Xcode 개발 환경을 이루는 핵심 영역에 대한 개요를 이해하도록 하는 것이며, 이 과정 중에 Hello World 라는 레이블을 표시하도록 설계된 매우 간단한 ios 애플리케이션 프로젝트도 생성해볼 것이다. 이번 장이 끝날 때쯤이면 여러분은 Xcode를 친숙하게 느낄 수 있고, 여러분의 첫 번째 ios 애 플리케이션도 가지게 될 것이다. 4.1 Xcode 7 시작하기 이 책의 모든 예제는 Xcode 7 개발 환경을 기반으로 한다. 최신 ios SDK와 Xcode가 설치되 어 있지 않다면, 3장 Xcode 7과 ios 9 SDK 설치하기 를 참고하기 바란다. 설치가 완료되었다고 가정하고, 앞 장에서 이미 만들어 놓은 독(dock)의 Xcode 아이콘을 실행하거나 맥 OS X 파인 더를 이용하여 애플리케이션(Applications) 폴더에 있는 Xcode를 실행하자. Xcode를 처음 실행할 때, Show this window when Xcode launches 옵션을 끄지 않았다면 디 폴트로 그림 4-1의 화면이 표시된다. 13
48 그림 4-1 만약 이 화면이 보이지 않을 경우, Window Welcome to Xcode 메뉴 옵션을 선택하면 화면에 표시될 것이다. 이 화면에서 Create a new Xcode project 옵션을 선택한다. 그러면 개발하고자 하는 프로젝트의 타입에 맞는 템플릿(template)을 선택할 수 있는 프로젝트 템플릿 패널을 가진 Xcode 7 프로젝트 윈도우가 표시될 것이다. 그림 4-2 이 화면의 왼쪽 패널은 대상 플랫폼을 선택하기 위하여 ios와 watchos 기반의 기기용 또는 맥 OS X용 애플리케이션을 개발할 수 있는 옵션들을 제공한다. 14 CHAPTER 4 Xcode 7 가이드 투어
49 ios 아래에 있는 Application을 선택하면 메인 패널에는 애플리케이션의 기초로 사용할 수 있 는 템플릿 목록이 표시될 것이다. 사용할 수 있는 템플릿 옵션들은 다음과 같다. Master-Detail Application 리스트 기반의 애플리케이션을 생성하기 위해서 사용된다. 마스터 리스트의 항목을 선택하면 해당 항목에 대한 디테일 뷰가 표시되며, 리스트로 돌 아오기 위한 뒤로(Back) 버튼도 제공한다. 간혹 헤드라인 리스트에 있는 항목을 선택하면 그에 해당하는 뉴스 기사의 내용이 표시되는 뉴스 애플리케이션에서 이와 비슷한 기술이 사용된 것을 보았을 것이다. 아이패드 기반의 애플리케이션에서 사용될 경우, 이 템플릿은 기본적인 스플릿-뷰(split-view) 구성을 구현한다. Page-based Application 화면에서 페이지를 넘기는 것과 같은 효과를 지원하도록 설계 된 페이지 뷰 컨트롤러를 이용하는 템플릿 애플리케이션을 생성한다. Tabbed Application 탭 바(tab bar)를 가진 템플릿 애플리케이션을 생성한다. 보통 탭 바 는 기기의 하단에 위치하며, 각 항목이 선택될 때마다 서로 다른 화면이 표시된다. 예를 들어, 아이폰에 내장된 전화(Phone) 애플리케이션의 사용자 인터페이스는 즐겨찾기와, 연 락처, 키패드, 그리고 음성 사서함 간의 이동을 할 수 있도록 탭 바를 사용한다. Single View Application 하나의 뷰와 뷰 컨트롤러를 가진 애플리케이션을 위한 기본 템 플릿을 생성한다. Game 2D와 3D 게임 개발을 위한 SpriteKit, SceneKit, OpenGL ES, 메탈(Metal)의 장점 들을 이용할 수 있도록 구성된 프로젝트를 만든다. 간단한 예제를 위해서 Single View Application 템플릿을 선택하고 Next를 클릭하여 프로젝트 옵션 설정 화면으로 이동한다. 4.1 Xcode 7 시작하기 15
50 그림 4-3 프로젝트 옵션 설정 화면에서 생성될 애플리케이션의 Product Name을 입력하자. 여기서는 HelloWorld 를 입력한다. Organization Name에 입력한 텍스트는 프로젝트를 구성하는 모든 소스 파일의 copyright 주석문에 위치하게 될 것이다. 회사 식별자 1 는 보통 회사 웹 사이트 URL의 역순을 사용한다. 즉, com.mycompany 형식이 된다. 이것은 실제 아이폰이나 아이패드 기기에서 애플리케이션을 테스트하기 위해 필요한 프 로비저닝 프로파일과 인증서를 생성하는 데 사용된다. 이것은 앱 스토어에 앱을 출시할 때 앱 스토어 내에서 앱을 식별하는 유일한 식별자 역할도 한다. ios 생태계에는 여러 종류의 디바이스와 다양한 크기의 화면 사이즈가 있다. 그래서 새로운 프로젝트를 생성할 때 그 프로젝트가 아이폰 디바이스를 대상으로 만들어질 것인지, 아니면 아이패드 디바이스를 대상으로 만들어질 것인지를 지정할 수 있다. 하지만 아이패드 미니와 아이폰 6 플러스 출시로 인해 아이폰과 아이패드 화면 사이즈 차이가 많이 줄어들어서 어느 한 디바이스만을 대상으로 한 프로젝트를 생성한다는 것은 더 이상 의미가 없어졌다. 그보다 더 합리적인 접근 방법은 모든 디바이스 종류와 화면 사이즈를 해결하는 하나의 프로젝트를 생성하는 것이다. 나중에 배우겠지만, 사실 Xcode 7과 ios 9에는 유니버셜(Universal) 애플리케이 션을 쉽게 만들 수 있도록 특별히 설계된 기능들이 많이 포함되어 있다. 이 점을 기억하고 디바 이스(Devices) 메뉴를 Universal로 설정하자. 1 역주 그림 4-3에서 Organization Identifier 16 CHAPTER 4 Xcode 7 가이드 투어
51 애플은 ios 앱을 개발하기 위한 프로그래밍 언어로 오브젝티브-C(Objective-C)와 스위프트(Swift) 를 지원한다. 이전에 사용하던 오브젝티브-C 언어로 프로그램을 작성하는 것이 여전히 가능 하지만, 애플은 스위프트가 ios 개발의 미래라고 생각하고 있다. 이 책의 모든 예제 코드는 스 위프트로 작성되어 있으므로 Language 메뉴를 Swift 로 설정하고 Next 버튼을 클릭하자. 마지막 화면에서 생성될 새로운 프로젝트를 어디에 위치할지 결정하고 Create를 클릭하자. 새로운 프로젝트가 생성되면 그림 4-4와 같은 Xcode 화면이 표시된다. 그림 4-4 프로젝트를 진행하기 전, Xcode가 과연 우리를 위해 무엇을 해주었는지 확인해보자. 우선, 애 플리케이션 개발에 필요한 여러 파일을 생성해주었다. 이중 일부는 애플리케이션이 동작하도 록 하는 코드를 입력할 스위프트 소스 코드 파일(.swift 확장자를 가짐)이다. 또한, Main.storyboard 파일은 우리가 생성할 사용자 인터페이스 설계를 담고 있으며, 인터페 이스 빌더(Interface Builder)에 의해 사용될 저장 파일이다. LaunchScreen.storyboard라는 이름의 두 번째 인터페이스 빌더 파일도 프로젝트에 추가되었다. 여기에는 애플리케이션이 로딩하는 동안 화면에 표시될 사용자 인터페이스 레이아웃이 포함된다. 4.1 Xcode 7 시작하기 17
52 .plist 파일 확장자를 가진 파일이 하나 이상 있을 것이다. 이 파일들은 Property List 파일로서 키-값 쌍(key/value pair)의 정보를 저장하고 있다. 예를 들어 Info.plist 파일에는 언어, 실행 파일 이름 및 앱 식별자 등의 항목들과 관련된 리소스 설정이 들어있다. 나중에 자세히 설명하겠지 만, 이 파일은 프로젝트의 기능을 구성하는 속성들이 저장되는 곳이기도 하다. 파일 목록은 메인 Xcode 프로젝트 윈도우의 왼쪽 패널에 있는 프로젝트 내비게이터(Project Navigator)에 표시된 다. 이 패널 상단의 툴바에는 빌드와 실행 히스토리, 브레이크포인트(breakpoints), 컴파일 에러 등의 다른 정보를 표시하는 옵션이 있다. 디폴트로, 가운데 패널은 애플리케이션 프로젝트에 대한 설정들의 일반적인(General) 요약을 표시한다. 여기에는 프로젝트를 생성할 때 지정한 식별자와 대상 기기도 표시되며, 애플리케 이션이 지원하는 기기의 방향, 사용자가 클릭하는 데 사용되는 작은 아이콘, 애플리케이션 실 행 시 화면에 표시되는 실행 화면 이미지(launch screen image) 등을 설정하는 옵션도 제공된다. General 화면뿐만 아니라 Capabilities, Info, Build Settings, Build Phases, 그리고 Build Rules 로 구성된 부가 설정들을 조회하고 수정하기 위한 탭들도 제공된다. 이 책을 진행하면서 몇몇 설정에 대해서는 보다 자세하게 알아볼 것이다. 언제라도 프로젝트 설정 패널로 돌아가려면 왼쪽 패널에서 프로젝트 내비게이터를 선택하고 내비게이터 리스트의 가장 위에 있는 항목(애플 리케이션 이름)을 선택하면 된다. 내비게이터 패널 목록에서 소스 파일이 선택되면, 가운데 패널에 해당 파일의 내용이 표시되 며, 편집도 가능하다. 파일을 별도의 편집창에 열고 싶다면 목록에 있는 파일을 더블 클릭하 면 된다. 4.2 ios 앱 사용자 인터페이스 만들기 ios 앱은 실행되는 환경의 특성상 일반적으로 시각 지향적이다. 예를 들어, 모든 앱의 핵심 요 소에는 사용자들이 애플리케이션과 상호 작용하고 피드백을 받게 될 사용자 인터페이스가 포 함된다. 물론 코드를 작성하여 사용자 인터페이스를 만들고 화면에 배치할 수 있지만, 이렇게 하는 것은 과정이 복잡하며 에러가 생길 확률이 높다. 그렇기 때문에 애플은 캔버스에 컴포넌 트들을 드래그 앤 드롭하고 컴포넌트의 모습과 동작에 대한 속성을 설정하여 사용자 인터페이 스를 시각적으로 만들 수 있게 해주는 인터페이스 빌더(Interface Builder)라는 툴을 제공한다. 앞 절에서 설명했듯이, Xcode는 우리의 프로젝트에 대한 여러 파일들을 생성해주었다. 그중 하 나가.storyboard 확장자를 가진 파일이다. 이것은 인터페이스 빌더 스토리보드 저장 파일이며, 18 CHAPTER 4 Xcode 7 가이드 투어
53 우리의 HelloWorld 프로젝트에 대한 파일은 Main.storyboard라는 이름으로 되어 있다. 이 파일 을 인터페이스 빌더에 로드하려면 왼쪽에 있는 패널의 파일 목록에서 해당 파일을 선택하면 된다. 인터페이스 빌더는 그림 4-5와 같이 중앙 패널에 나타나게 될 것이다. 그림 4-5 화면의 가운데 패널에 애플리케이션의 사용자 인터페이스가 표시된다. 처음에는 단 하나의 UIView 객체로만 구성된다. 이 UIView 객체는 프로젝트를 생성하는 단계에서 Single View Application 옵션을 선택했을 때 Xcode에 의하여 우리의 설계에 추가된 것이다. 나중에 여러 가지 사용자 인터페이스를 UIView 객체 위로 드래그 앤 드롭하여 HelloWorld의 사용자 인터 페이스를 만들어 갈 것이다. 사용자 인터페이스를 설계한다는 것은 보통 여러 가지 컴포넌트 를 캔버스(canvas)에 드래그 앤 드롭하고, 해당하는 프로퍼티를 설정하는 것이다. 객체 및 프로 퍼티 설정을 보기 위해서는 오른쪽 패널이 보여야 한다. 이 패널을 유틸리티(Utilities) 패널이라고 부르며, Xcode 툴바의 오른쪽에 있는 버튼 중에 오른편에 있는 버튼을 선택하면 패널이 표시 된다. 그림 ios 앱 사용자 인터페이스 만들기 19
54 나타난 유틸리티 패널은 그림 4-7과 같은 화면으로 보일 것이다. 그림 4-7 패널의 윗부분에는 버튼들이 있으며, 이들 버튼을 선택하면 패널의 절반 윗부분에 표시되는 설정 화면들이 변경된다. 디폴트로 파일 인스펙터(File Inspector)가 표시된다. 이 외에 퀵 헬프 인 스펙터(Quick Help Inspector), 아이덴티티 인스펙터(Identity Inspector), 애트리뷰트 인스펙터(Attributes Inspector), 사이즈 인스펙터(Size Inspector)와 커넥션 인스펙터(Connections Inspector) 옵션이 있다. 이 책에서는 이 옵션들을 자주 사용하게 되므로 여기서 잠시 각 옵션이 제공하는 설정이 어떠한 것인지 살펴보도록 하자. 20 CHAPTER 4 Xcode 7 가이드 투어
55 패널의 아랫부분은 디폴트로 파일 템플릿 라이브러리를 표시한다. 이 패널의 윗부분에는 다 른 카테고리를 표시하기 위한 또 다른 툴바가 위치하고 있다. 이 툴바 옵션에는 타이핑 노력을 덜기 위해 자주 사용하는 소스 코드 조각(code snippet)과 오브젝트 라이브러리(Object Library), 그리고 미디어 라이브러리(Media Library) 등이 있다. 이번 예제에서는 오브젝트 라이브러리가 필요하므로 중앙에 작은 사각형이 들어있는 원 모양의 버튼을 선택한다. 이를 선택하면 사용 자 인터페이스를 만드는 데 사용되는 UI 컴포넌트들이 표시된다. 만약 표시되는 영역이 좁을 경우, 이 툴바 위쪽의 가로선을 드래그하여 UI 컴포넌트가 표시되는 영역을 확장하자. 라이브 러리에 있는 항목들의 레이아웃은 패널 하단의 검색 박스 왼쪽에 위치한 옵션을 클릭하여 한 줄에 객체의 설명과 함께 하나씩 표시되게 할 수 있고 설명 없이 여러 객체가 표시되도록 바 꿀 수도 있다. 4.3 컴포넌트 속성 변경하기 메인 패널에 있는 View가 선택된 상태에서 프로퍼티 패널을 이용하여 뷰의 배경색을 바꿔보 기로 하자. View가 선택된 상태에서 오른쪽 패널에 애트리뷰트 인스펙터(Attributes Inspector, View Utilities Show Attributes Inspector)가 표시되도록 한다. Background 레이블 옆의 흰색으로 채워진 사각형을 클릭하여 Colors 대화상자를 연다. 색 선택 툴을 사용하여 좋아하는 색을 선 택하고 대화상자를 닫는다. 이제 뷰 윈도우가 흰색에서 새롭게 선택한 색으로 변경되었음을 확인할 수 있을 것이다. 4.4 사용자 인터페이스에 객체 추가하기 다음 단계로 Label 객체를 뷰에 추가한다. 오브젝트 라이브러리(Object Library) 패널에 있는 객 체들의 목록을 스크롤하거나 그림 4-8처럼 패널 하단의 검색 상자에 Label이라고 입력하자. 그림 사용자 인터페이스에 객체 추가하기 21
56 레이블(Label) 객체를 찾아 뷰의 정중앙에 오도록 드래그하여 수직/수평 가이드라인이 표 시되게 하자. 해당 위치에 배치하려면 누르고 있는 마우스 버튼을 그 자리에서 뗀다. 우리 는 방금 화면에 UILabel 클래스의 인스턴스를 추가했다. 오브젝트 라이브러리(Object Library) 검색을 취소하기 위하여 검색 상자의 오른쪽 끝에 있는 x 버튼을 클릭하자. 새롭게 추가한 레이블을 선택하고 수평으로 늘려서 현재 뷰의 약 1/3 정도의 폭이 되도록 한다. 레이블이 선 택되어 있는 상태에서 레이블의 텍스트가 레이블 뷰의 중앙에 오도록 애트리뷰트 인스펙터 (View Utilities Show Attributes Inspector)의 중앙 정렬 버튼 2 을 클릭하자. 그림 4-9 현재 레이블에 Label 이라고 쓰여 있는 텍스트를 더블 클릭하고 Hello World 라고 입력한다. 애트리뷰트 인스 펙터 패널에서 폰트 설정 속성을 찾아 폰트 이름 옆에 있는 T 버튼을 클릭하여 폰트 선택 메뉴를 표시한다. System - System으로 되어 있는 Font 설정을 Custom으 로 변경하고 지금보다 더 큰 폰트를 선택하자. 예를 들 어, 그림 4-10은 24 크기인 Georgia bold 글꼴이다. 그림 역주 애트리뷰트 인스펙터의 Alignment 필드에 있는 가운데 버튼 22 CHAPTER 4 Xcode 7 가이드 투어
57 마지막으로 할 작업은 애플리케이션이 궁극적으로 실행되는 디바이스의 화면 크기와는 상관 없이 레이블이 화면 중앙에 위치하도록 레이아웃 컨스트레인트(constraint)를 추가하는 것이다. 이 작업은 ios의 자동 레이아웃(Auto Layout) 기술을 사용하며 나중에 자세히 설명할 것이다. 이번 예제에서는 간단하게 다음과 같이 하자. 레이블(Label) 객체를 선택하고, 그림 4-11과 같 이 Align 메뉴를 열어 Horizontally in Container와 Vertically in Container 옵션을 선택하고 오프 셋(offset)을 0으로 한 다음에 Add 2 Constraints 버튼을 클릭한다. 그림 4-11 여기까지 했다면 여러분의 뷰(View)는 그림 4-12와 같이 되었을 것이다. 그림 사용자 인터페이스에 객체 추가하기 23
58 프로젝트를 빌드하고 실행하기 전에 Xcode의 도큐먼트 아웃라인(Document Outline) 패널을 잠깐 살펴보자. 이 패널은 디폴트로 인터페이스 빌더의 왼쪽에 표시되며, 인터페이스 빌더 패널의 하단 왼쪽에 작은 버튼(그림 4-13에서 화살표가 가리키는 것)으로 제어된다. 그림 4-13 도큐먼트 아웃라인이 열려 있다면 설계한 사용자 인터페이스 레이아웃과 거기에 적용된 모든 컨스트레인트들에 대한 계층 구조를 보여줄 것이다. 그림 Xcode 7에서 ios 9 앱 빌드하고 실행하기 앱이 실행되기 전에 반드시 컴파일을 거쳐야 한다. 성공적으로 컴파일되면 시뮬레이터나 실제 아이폰, 아이패드, 아이팟 터치 기기에서 실행해볼 수 있으나, 이번 장에서는 시뮬레이터에서 실행해보자. Xcode 7 프로젝트 윈도우의 왼쪽 상단에 있는 메뉴(그림 4-15의 C 부분)가 iphone 6 시뮬레이터 옵션으로 선택되도록 하자. A B C D 그림 CHAPTER 4 Xcode 7 가이드 투어
59 Run 버튼( A )을 클릭하여 코드를 컴파일하고 시뮬레이터에서 앱을 실행한다. Xcode 툴바의 중 앙에 있는 작은 패널( D )에 빌드 과정이 표시되며, 빌드를 실패하게 하는 에러가 발생하면 이에 대한 정보도 표시될 것이다. 빌드가 끝나면 시뮬레이터가 시작되고 HelloWorld 앱이 실행된다. 그림 4-16 인터페이스 빌더에 설계한 사용자 인터페이스가 나타나는 것을 알 수 있다. 정지 버튼(B)을 클 릭하고 타깃(target) 메뉴에서 iphone 6를 ipad Air 2로 변경한 후, 애플리케이션을 다시 실행하 자. 이번에도 마찬가지로 사이즈가 더 커진 화면 중앙에 레이블이 나타날 것이다. 마지막으로, 가로 방향(landscape)에서도 레이아웃이 올바르게 나오는지 확인하기 위해서 Hardware Rotate Left 메뉴를 선택하자. 여기서 우리는 자동 레이아웃 컨스트레인트가 잘 동작한다는 것과 프로 젝트에 대해 유니버셜(Universal) 사용자 인터페이스 설계를 했다는 것을 확인할 수 있다. 4.6 실제 ios 디바이스에서 앱 실행하기 시뮬레이터 환경은 앱을 여러 가지 다양한 ios 기기들에서 테스트할 수 있도록 해주지만, 실 제 ios 기기에서 테스트하는 것도 매우 중요하다. 여러분이 현재 애플 개발자 프로그램에 가입되었는지와는 상관없이, 개발하고 있는 맥 시스템에 실제 기기를 연결하고 Xcode의 실행 타깃에서 연결된 기기를 선택하여 앱을 실행할 수도 있다. 4.6 실제 ios 디바이스에서 앱 실행하기 25
60 개발 중인 맥 시스템에 기기를 연결하였고 애플리케이션을 테스트할 준비가 되었다면, Xcode 툴바의 디바이스 메뉴에 나타난다. Xcode 툴바에는 ios 시뮬레이터들 중 하나가 디폴트로 설 정되어 있을 것이다(그림 4-17은 iphone 6s 시뮬레이터로 되어 있다). 그림 4-17 이 메뉴를 이용하여 실제 기기를 선택하여 그림 4-18과 같이 디바이스 이름이 표시되도록 한다. 그림 4-18 타깃 디바이스를 선택했다면, 이 기기가 테스트용으로 잠금 해제되었는지 확인하고 실행 버 튼을 클릭한다. 그러면 Xcode는 디바이스에 앱을 설치하고 실행한다. 4.7 디바이스와 시뮬레이터 관리하기 현재 연결된 ios 기기들과 Xcode에서 사용될 수 있도록 구성된 시뮬레이터들은 Window Devices 메뉴 옵션으로 접근할 수 있는 Xcode의 Devices 창에서 확인하고 관리할 수 있다. 예 를 들어, 그림 4-19는 아이폰과 애플 워치를 감지한 일반적인 Device 화면을 보여준다. 26 CHAPTER 4 Xcode 7 가이드 투어
61 그림 4-19 디폴트로 Xcode 내에는 여러 가지 시뮬레이터들이 설치되어 있다. 다른 종류의 시뮬레이터를 추가하려면 화면의 좌측 하단에 있는 + 버튼을 클릭하면 된다. 이 버튼을 클릭하면, 디바이스 종류와 ios 버전 그리고 시뮬레이터 이름을 구성할 수 있는 다이얼로그가 나타날 것이다. 좌측 하단에 있는 톱니바퀴 모양의 아이콘은 설치된 시뮬레이터를 삭제하거나 이름을 바꾸거 나 Xcode의 실행 타깃 메뉴에서 제거할 수 있도록 해준다. 4.8 빌드 에러 처리하기 사실, 이번 장에서는 어떤 코드를 작성하거나 수정하지 않았기 때문에 에러가 생기지는 않았 을 것이다. 만약 실수로 어떠한 과정을 잘못했다면 빌드가 실패할 것이며, Xcode 환경에서 빌 드 에러에 대한 여러 정보를 확인할 수 있을 것이다. 만약에 어떠한 이유로 빌드를 실패했다면, Xcode 툴바의 상태 윈도우에 Build 라는 표시와 함 께 에러 및 경고 숫자가 표시된다. 또한, Xcode의 왼쪽 패널 3 에는 에러 목록이 표시될 것이다. 이 목록에서 에러를 선택하면 수정이 필요한 코드로 화면이 이동된다. 3 역주 Issue Navigator 패널 4.8 빌드 에러 처리하기 27
62 4.9 애플리케이션 성능 모니터링하기 Xcode의 또 다른 유용한 기능은 실행 중인 애플리케이션 성능을 모니터링할 수 있다는 것이 다. 이것은 디버그 내비게이터(Debug Navigator)에 표시되는 것으로 확인할 수 있다. Xcode를 실행하면 왼쪽 패널은 디폴트로 프로젝트 내비게 이터(Project Navigator)를 표시한다. 이 패널의 상단에는 여러 옵션이 있다. 왼쪽에서 여섯 번째에 있는 옵션이 디버그 내 비게이터(Debug Navigator)이며, 이를 선택하면 그림 4-20과 같이 나온다. 이 패널은 현재 실행 중인 애플리케이션의 성 능(예를 들어 메모리, CPU 사용, 디스크 접근, 네트워크 활성화, icloud 스토리지 접근)에 대한 실시간 통계를 표시한다. 그림 4-20 표시된 카테고리들 중에 하나를 선택하면, 메인 패널(그림 4-21)은 애플리케이션 성능에 대한 특정 영역의 추가적인 정보를 제공하기 위해서 업데이트된다. 그림 4-21 더 많은 정보를 얻고 싶다면 패널의 우측 상단에 있는 Profile in Instruments 버튼을 클릭하면 된다. 28 CHAPTER 4 Xcode 7 가이드 투어
63 4.10 사용자 인터페이스 레이아웃 계층 구조의 분해도 Xcode 7은 사용자 인터페이스 레이아웃을 사용자 인터페이스에 대한 뷰 계층 구조가 어떻게 구축되었는지 보여주는 회전 가능한 3D 뷰 표시 기능도 제공한다. 이것은 어떤 뷰 객체가 다 른 뷰 위에 나타나거나 의도하지 않게 표시되는 상황을 파악하는 데 특히 유용하다. 해당 모 드의 뷰 계층 구조에 접근하려면 애플리케이션을 실행하고 그림 4-22에 표시된 Debug View Hierarchy 버튼을 클릭하자. 그림 4-22 이 기능이 활성화되었다면 레이아웃의 3D 분해도가 나타날 것이며, 3D 모드로 전환하기 위해 서는 그림 4-23에서 가리키는 Orient to 3D 버튼을 클릭해야 한다. 그림 4-23 그림 4-24는 이번 장에서 생성한 것보다 약간 더 복잡한 사용자 인터페이스에 대한 예다. 그림 사용자 인터페이스 레이아웃 계층 구조의 분해도 29
iOS ÇÁ·Î±×·¡¹Ö 1205.PDF
iphone ios 5 DEVELOPMENT ESSENTIALS Copyright 2011 Korean Translation Copyright 2011 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency-One, Seoul. i iphone ios
More informationiphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edi
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
More informationView Licenses and Services (customer)
빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차
More informationios 7 App Development Essentials Korean Translation Copyright c 2014 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth thro
ios 7 App Development Essentials Korean Translation Copyright c 2014 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency One, Seoul. Copyright c 2013 Neil Smyth.
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationiOS5_1±³
IDG Deep Dive ios 5 2 3 4 5 6 7 8 9 10 11 12 ios 5 토어 버튼이 상단 좌측에 추가되어 아이튠즈 스토 어의 적합한 영역으로 연결해 준다. 또한 블루투스의 원격제어 기능인 AVRCP(AV Remote Control Profile)가 1.3 버전으로 업데이 트되어 음악을 블루투스로 스트리밍할 때 트랙과 아티스트, 앨범 정보를
More informationWindows 8에서 BioStar 1 설치하기
/ 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar
More informationwtu05_ÃÖÁ¾
한 눈에 보는 이달의 주요 글로벌 IT 트렌드 IDG World Tech Update May C o n t e n t s Cover Story 아이패드, 태블릿 컴퓨팅 시대를 열다 Monthly News Brief 이달의 주요 글로벌 IT 뉴스 IDG Insight 개발자 관점에서 본 윈도우 폰 7 vs. 아이폰 클라우드 컴퓨팅, 불만 검증 단계 돌입 기업의
More informationSIGIL 완벽입문
누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS
More informationiphone ios 6 DEVELOPMENT ESSENTIALS Copyright c 2012 Neil Smyth. All rights reserved. Korean Translation Copyright c 2013 by J-Pub. co. The Korean edi
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
More information아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상
Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More information13Åë°è¹é¼Ł
이면은빈공간입니다. National Statistics White Paper 2012 National Statistics White Paper ii _ STATISTICS KOREA 2012 _ iii 2012 National Statistics White Paper 1 26 2 27 3 28 4 29 5 30 6 31 7 32 8 33 9 34 10 35
More information사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을
IDIS Mobile ios 사용설명서 Powered by 사용설명서를 읽기 전에 ios용 아이디스 모바일은 네트워크 연결을 통해 ios 플랫폼 기반의 모바일 기기(iOS 버전 6.0 이상의 ipod Touch, iphone 또는 ipad)에서 장치(DVR, 네트워크 비디오 서버 및 네트워크 카메라)에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다.
More information소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기
소규모 비즈니스를 위한 YouTube 플레이북 YouTube에서 호소력 있는 동영상으로 고객과 소통하기 소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기
More information동북아 문화공동체 형성을 위한 한 중 일 대중문화 교류의 현황 및 증진 방안 연구 동북아 문화공동체 특별연구위원회 구 분 성 명 소 속 및 직 위 위 원 장 김 광 억 서울대 인류학과 교수 김 우 상 연세대 정치외교학과 교수 박 준 식 한림대 사회학과 교수 전 영 평 대구대 도시행정학과 교수 위 원 정 진 곤 한양대 교육학과 교수 정 하 미 한양대 일본언어
More information1
1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15
More informationSBR-100S User Manual
( 1 / 13 ) SBR-100S 모델에 대한 사용자 펌웨어 업그레이드 방법을 안내해 드립니다. SBR-100S 는 신규 펌웨어가 있을시 FOTA(자동업데이트) 기능을 통하여 자동 업그레이드가 되며, 필요시 사용자가 신규 펌웨어를 다운받아 수동으로 업그레이드 할 수 있습니다. 1. 준비하기 1.1 연결 장치 준비 펌웨어 업그레이드를 위해서는 SBR-100S
More informationPathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.
PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는
More information사용하기 전에 2
SM-T255S 사용 설명서 www.samsung.com/sec 사용하기 전에 2 표기된 기호 설명 저작권 등록상표권 애플리케이션 호환 안내 3 4 시작하기 6 8 8 9 13 14 16 18 18 19 19 19 기본 기능 익히기 20 21 24 25 26 28 29 31 32 33 34 34 34 37 38 38 39 차례 보기 40 42 소통하기 43
More informationMicrosoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse
More informationMicrosoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집
Modern Modern www.office.com ( ) 892 5 : 1577-9700 : http://www.microsoft.com/korea Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와
More informationMicrosoft Word - windows server 2003 수동설치_non pro support_.doc
Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로
More information1
2/33 3/33 4/33 5/33 6/33 7/33 8/33 9/33 10/33 11/33 12/33 13/33 14/33 15/33 16/33 17/33 5) 입력을 다 했으면 확인 버튼을 클릭합니다. 6) 시작 페이지가 제대로 설정이 되었는지 살펴볼까요. 익스플로러를 종료하고 다시 실행시켜 보세요. 시작화면에 야후! 코리아 화면이 뜬다면 설정 완료..^^
More informationPowerPoint Presentation
FAST CAMPUS 2014년 6월 2일 애플(Apple)이 세계개발자대회 (WWDC 2014)에서 ios와os X 기반의 애플리케이션 개발을 위해 새로운 프로그래밍 언어 스위프트 를 선보였습니다. 보통 프로그램 언어의 경우 사람이 사용하는 말과 유사할수록 성능은 떨어지는데 이는 사람의 말과 유사할 경우 컴퓨터가 이해하도록 바꾸는 데 시간이 많이 걸리기 때문입니다.
More information게임 기획서 표준양식 연구보고서
ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ
More information사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사
IDIS Mobile Android 사용설명서 Powered by 사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사양 및 버전에 따라 일부
More information학위논문홍승아.hwp
印 印 印 - iv - - v - - vi - - vii - - viii - -1- -2- -3- -4- -5- -6- - -7- vii - - -8- viii - -9- 1) --10- x - --11- xi - --12- xii - -13- -14- -15- -16- -17- -18- -19- -20- --21- xxi - -22- - -23- xxiii
More informationios 8 App Development Essentials Korean Translation Copyright 2015 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth throug
ios 8 App Development Essentials Korean Translation Copyright 2015 by J-Pub. co. The Korean edition is published by arrangement with Neil Smyth through Agency-One, Seoul. Copyright 2014 Neil Smyth. All
More informationMicrosoft Word - src.doc
IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...
More informationMicrosoft Word - ntasFrameBuilderInstallGuide2.5.doc
NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,
More informationIRISCard Anywhere 5
이 빠른 사용자 가이드는 IRISCard Anywhere 5 및 IRISCard Corporate 5 스캐너의 설치와 시작을 도와 드립니다. 이 스캐너와 함께 제공되는 소프트웨어는: - Cardiris Pro 5 및 Cardiris Corporate 5 for CRM (Windows 용) - Cardiris Pro 4 (Mac OS 용) Cardiris 의
More informationMicrosoft Word - 문필주.doc
포커스 포커스 모바일 광고기능을 갖는 아이폰 애플리케이션 문필주* 이요섭** 최근의 모바일 광고 시장은 이동통신사 중심의 SMS 발송 형태에서 아이폰의 등장과 앱 스토어(App Store)의 성공에 의한 콘텐츠 내의 플랫폼(App-vertising) 형태로 변해 가고 있다. 본 고에서는 모바일 광 고 아이폰 애플리케이션을 활용할 수 있는 방법에 대해 논의하고자
More information노트북 IT / 모바일 데스크탑 34 올인원PC 35 PC 소프트웨어 포터블SSD / SSD / 메모리카드 36 태블릿 37 휴대폰 39 PC 솔루션 IT / 모바일 IT / 모바일 노트북 29 삼성전자는 Windows 를 권장합니다. 삼성전자만의 편리하고 다양한 소프트웨어를 통해 초보자도 보다 쉽고 빠르게 이용 가능합니다. Easy Settings 삼성 패스트
More informationMF Driver Installation Guide
Korean MF 드라이버 설치설명서 사용자 소프트웨어 CD-ROM... 드라이버 및 소프트웨어 정보...1 지원되는 운영 체제...1 MF 드라이버 및 MF Toolbox 설치... [쉬운 설치]를 사용한 설치...2 [사용자 정의 설치]를 사용한 설치...10 USB 케이블 연결(USB를 이용해 연결하는 경우만)...20 설치 결과 확인...21 온라인
More informationH3250_Wi-Fi_E.book
무선 LAN 기능으로 할 수 있는 것 2 무선 LAN 기능으로 할 수 있는 것 z q l D w 3 Wi-Fi 기능 플로우차트 z q l D 4 Wi-Fi 기능 플로우차트 w 5 본 사용 설명서의 기호 설명 6 각 장별 목차 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 목차 1 2 3 4 8 목차 5 6 7 8 9 9 목차 10 11 12
More information코코아36-37_3차(460-475)
C o c o a P r o g r a m m i n g f o r M A C O S X Hello, iphone! 최근에 국내에서 코코아 프로그래밍에 관심이 커진 이유는 맥 사용자 층이 늘어 나 맥 개발의 핵심인 코코아 프로그래밍에 관심이 많아진 것도 있지만, 아이폰 때 문이기도 하다. 그래서 특별히 원서에는 없는 내용이긴 하지만, 아이폰 개발 입문 을 위한
More information<BEC6BFF4BCD2BDCCBAB8B0EDBCAD28C3D6C1BE29303831302E687770>
동아시아역내 일본자동차산업의 아웃소싱 시장 분석을 통한 국내자동차부품기업의 진출방안 연구 2008. 8. 29. 한일산업기술협력재단 연구 참여자 책임연구자: 김도훈(한일산업기술협력재단 일본기업연구센터 연구위원) 연 구 자: 오재훤(메이지대학 국제일본학부 준교수) 연 구 자: 김봉길(도야마대학 경제학부 교수) 연 구 자: 정성춘(대외경제정책연구원 일본팀장) 연
More information[Brochure] KOR_TunA
LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /
More information서현수
Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,
More information설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1
디지털 사진 프린터 P-S100 프린터 드라이버 설치 가이드 사용하는 컴퓨터에 따라 제공된 프린터 드라이버를 설치합니다. 설치 절차 에 대한 자세한 내용은 CD-ROM의 Readme 파일을 참조하십시오. 작동 환경 Windows 호환 모델: IBM PC/AT 및 호환품 운영 체제: Windows 98 SE/Me/2000/XP (Windows 98 SE/Me/2000/XP
More information<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>
SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......
More information유니 앞부속
Published by Ji&Son Inc. Printed in Korea. Unityによる3Dゲ-ム : iphone/android/webで ゲ-ムプログラミング (JAPAN ISBN 978-4873115061) Authorized translation from the Japanese language edition of Unityによる3Dゲ- ム. 2011 the
More information- i - - ii - - iii - - iv - - v - - vi - - vii - - viii - - ix - - x - - xi - - xii - - xiii - - xiv - - xv - - xvi - - xvii - - xviii - - xix - - xx - - xxi - - xxii - - xxiii - - xxiv - - 3 - - 4 -
More informationThinkVantage Fingerprint Software
ThinkVantage 지문 인식 소프트웨어 First Edition (August 2005) Copyright Lenovo 2005. Portions Copyright International Business Machines Corporation 2005. All rights reserved. U.S. GOVERNMENT USERS RESTRICTED RIGHTS:
More informationuntitled
Content Ⅰ. 기본방향 1. 목 적 3 2. 적용범위 3 Ⅱ. 사회복지관 운영 1. 사회복지관의 정의 7 2. 사회복지관의 목표 7 3. 사회복지관의 연혁 7 4. 사회복지관 운영의 기본원칙 8 Ⅲ. 사회복지관 사업 1. 가족복지사업 15 2. 지역사회보호사업 16 3. 지역사회조직사업 18 4. 교육 문화사업 19 5. 자활사업 20 6. 재가복지봉사서비스
More informationMicrosoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with
More informationOffice 365 사용자 가이드
[ 여기에입력 ] Office 365 사용자가이드 OFFICE 365 모바일설정 목차 1. 모바일에메일계정추가하기... 2 2. Lync 2013 App 설치하기... 7 3. Office Mobile App 설치하기... 10 4. Office for ipad 설치하기... 16-1 - 모바일기기에 Office 365 를설정해보세요. 모바일기기에 Office
More information09 강제근로의 금지 폭행의 금지 공민권 행사의 보장 38 10 중간착취의 금지 41 - 대판 2008.9.25, 2006도7660 [근로기준법위반] (쌍용자동차 취업알선 사례) 11 균등대우의 원칙 43 - 대판 2003.3.14, 2002도3883 [남녀고용평등법위
01 노동법 법원으로서의 노동관행 15 - 대판 2002.4.23, 2000다50701 [퇴직금] (한국전력공사 사례) 02 노동법과 신의성실의 원칙 17 - 대판 1994.9.30, 94다9092 [고용관계존재확인등] (대한조선공사 사례) 03 퇴직금 청구권 사전 포기 약정의 효력 19 - 대판 1998.3.27, 97다49732 [퇴직금] (아시아나 항공
More information이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론
이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN
More information°æÁ¦Àü¸Á-µ¼º¸.PDF
www.keri.org i ii iii iv v vi vii viii ix x xi xii xiii xiv xv 3 4 5 6 7 8 9 10 11 12 13 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 47 48 49 50 51 52 53
More information<BFDCB1B9C0CE20C5F5C0DAB1E2BEF7C0C720B3EBBBE7B0FCB0E82E687770>
외국인 투자기업의 노사관계 요 약 i ii 외국인 투자기업의 노사관계 요 약 iii iv 외국인 투자기업의 노사관계 요 약 v vi 외국인 투자기업의 노사관계 요 약 vii viii 외국인 투자기업의 노사관계 요 약 ix x 외국인 투자기업의 노사관계 요 약 xi xii 외국인 투자기업의 노사관계 요 약 xiii xiv 외국인 투자기업의 노사관계
More information슬라이드 1
유라이브 앱 사용자 매뉴얼 차례 주의사항 앱 특징 앱 설치하기 블랙박스와 연동하기 메뉴보기 1. 메인메뉴 2. 실시간 감시 3. 원격 검색 3_1. 원격 파일 검색 3_2. 원격 설정 3_3. 원격 SD카드 포맷 3_4. 원격 펌웨어 업그레이드 3_5. Emergency 설정 4. SD카드 5. 스크린 샷 6. 내 폰의 영상 7. 설정 8. 앱 정보 고장 진단하기
More information1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L
1,000 AP 20,000 ZoneDirector 5000. IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. WLAN LAN Ruckus Wireless (ZD5000),, WLAN. 20,000 2,048 WLAN ZD5000 1,000 ZoneFlex
More information비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리
ArcGIS for Desktop 10.4 Single Use 설치가이드 Software: ArcGIS for Desktop 10.4 Platforms: Windows 10, 8.1, 7, Server 2012, Server 2008 ArcGIS for Desktop 10.4 시스템 요구사항 1. 지원 플랫폼 운영체제 최소 OS 버전 최대 OS 버전 Windows
More information미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile
Adobe Experience Manager Mobile 앱 제작을 넘어 고객, 파트너 및 직원과의 유대 관계 형성 매년 모바일 디바이스에서 읽고 듣고 교류하는 사람들이 증가하고 있습니다. 미디어 및 엔터테인먼트 조직은 모바일 디바이스를 통해 고객, 직원, 파트너 및 광고주와 직접 교류할 수 있는 새로운 기회를 얻을 수 있는데, 이 기회를 민첩하게 활용하는
More informationMicrosoft PowerPoint - chap05-제어문.pptx
int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.
More information1809_2018-BESPINGLOBAL_Design Guidelines_out
베스핀글로벌 디자인 가이드라인 베스핀글로벌은 경험과 기술을 바탕으로 고객에게 신뢰를 주는 기업이기를 지향합니다. 모든 서비스와 소통채널에서 우리의 가치를 일관되게 표현하도록 합니다. SIGNATURE SIGNATURE + SLGAN SIGNATURE [CHINA] SIGNATURE + SYMBL 2018년 1.ver 베스핀글로벌 디자인 가이드라인 디자인 가이드라인을
More information4S 1차년도 평가 발표자료
모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components
More informationMicrosoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]
Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google
More information디지털 공학
캡스톤디자인 App Inventor 디지털전자정보계열 앱 인벤터란? MIT 대학 미디어 랩 연구실에서 만든 안드로 이드용 스마트폰 앱 제작하는 블록 프로그래 밍 기법의 비주얼 프로그래밍 도구이다. 스마트폰의 화면을 디자인하고 블록들을 조 립하면 우리가 원하는 앱을 만들 수 있다. 인터넷이 연결된 곳에서는 어디서라도 접속 하여 앱 화면을 직접 디자인하고 프로그래밍
More information1111111111.PDF
표지와 같은 면지 19대 총선평가 학술회의 일 시: 2012년 4월 25일(수) 13:30 18:00 장 소: 국회입법조사처 대회의실 (국회도서관 421호), 제1세미나실 (427호) 주 최: 국회입법조사처/한국정당학회 전체일정표 대회의실 제1세미나실 1:30 ~ 1:50 pm 개회식 1:50 ~ 3:50 pm 1패널 19대 총선평가와 전망 3:50 ~ 4:00
More information안전을 위한 주의사항 2 경고 상세내용 4 SMP 이용자 7대 안전수칙 6 불법조작금지 6 Dolby, DTS, SRS, DivX 7 사용자 설명서 가이드 10 구성품 확인 12 각 부분의 명칭과 기능 13 SMP의 올바른 사용법 14 구성품 사용안내 14 SMP 전원 켜기/끄기 16 터치스크린 사용안내 17 통신환경 설정 20 SMP 시작하기 22 홈 스크린
More information사물인터넷비즈니스빅뱅_내지_11차_160421.indd
사물인터넷 빅뱅 2016. 연대성 All Rights Reserved. 초판 1쇄 발행 2016년 4월 29일 지은이 연대성 펴낸이 장성두 펴낸곳 제이펍 출판신고 2009년 11월 10일 제406 2009 000087호 주소 경기도 파주시 문발로 141 뮤즈빌딩 403호 전화 070 8201 9010 / 팩스 02 6280 0405 홈페이지 www.jpub.kr
More information매력적인 맥/iOS 개발 환경 그림 A-1 변경 사항 확인창 Validate Setting... 항목을 고르면 된다. 프로젝트 편집기를 선택했을 때 화면 아 래쪽에 있는 동일한 Validate Settings... 버튼을 클릭해도 된다. 이슈 내비게이터 목록에서 변경할
Xcode4 부록 A Xcode 4.1에서 바뀐 내용 이번 장에서는 맥 OSX 10.7 라이언과 함께 발표된 Xcode 4.1에서 새롭게 추가된 기 능과 변경된 기능을 정리하려고 한다. 우선 가장 먼저 알아둬야 할 사항은 ios 개발을 위한 기본 컴파일러가 LLVM- GCC 4.2로 바뀌었다는 점이다. LLVM-GCC 4.2 컴파일러는 Xcode 4.0의 기본
More informationMicrosoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc
DVR HDD PC Viewer Guide ADVR6000 / SWI5000 선운정보통신 소개 본 매뉴얼은 DVR의 하드디스크 PC 뷰워의 설명서입니다. 이 프로그램은 DVR에 장착되어 미리 포맷되고 녹화된 HDD에 저장된 영상들을 사용자의 PC에서 직접 보여줄 것입니다. DVR의 하드디스크-랙에서 분리된 하드디크스가 사용자의 PC에 연결됐다면 이 응용프로그램은
More informationSH100_V1.4
User Manual VLUU SH100 1 2 3 4 5 6 m m 7 8 9 10 11 12 13 15 16 17 x y 18 19 1 4 z x 20 2 o 5 o 6 3 7 10 11 21 8 12 o 9 o 22 1 m 2 3 2 1 3 23 24 o 25 1 2 o 1 2 3 26 1 2 1 2 27 1 28 2 1 3 29 2 4 30 1 m
More information<5BC6EDC1FD5DBEEEBEF7C0CCC1D6B3EBB5BFC0DAC0CEB1C7BBF3C8B2BDC7C5C2C1B6BBE7C3D6C1BEBAB8B0EDBCAD28BAB8C0CCBDBABEC6C0CC292E687770>
어업 이주노동자 인권상황 실태조사 2012년도 국가인권위원회 인권상황 실태조사 연구용역보고서를 제출합니다 2012. 10. 연구수행기관 한양대학교 글로벌다문화연구원 연구책임자 오경석 연 구 원 이한숙 김사강 김민정 류성환 윤명희 정정훈 연구보조원 최상일 이 보고서는 연구용역수행기관의 결과물로서, 국가인권위원회의 입장과 다를 수 있습니다 연구요약 이 연구는 연근해
More informationMicrosoft PowerPoint - chap04-연산자.pptx
int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에
More information볼륨 조절 아이콘 표시하기 만일 알림 영역에 볼륨 조절 아이콘이 표시되지 않았다면 아래의 방법을 따라합니다. 1> [시작] - [제어판] - [사운드 및 오디오 장치] 아이콘을 더블 클릭합니다. 2) [사운드 및 오디오 장치 등록 정보] 대화상자에서 [볼륨] 탭을 클릭
사운드 문제해결 1. 볼륨 조절 관련 문제가 발생했을 때 음악은 재생이 되는데 소리가 들리지 않는 경우가 있습니다. 이때는 먼저 스피커 연결 부위가 잘 연 결되었는지, 볼륨 조정은 올바르게 되었는지 확인해야 합니다. 1) 스피커 확인 및 볼륨 조절하기 1> 컴퓨터 본체 뒷면에 스피커로 연결되는 부분에 올바르게 잭이 꽂혀 있고, 꽉 끼워져 있는지 확인합 니다.
More informationwin8_1±³
1 2 3 4 5 6 IDG Tech Library 7 8 9 ITWorld H ow To 마트글래스 기능은 사용자가 시청하거나 플레이한 하우스터프웍스(HowStuffWorks) 내용을 추적해 주고, 성취표나 추가 비디오 콘텐츠 하우스터프웍스 윈도우 8 앱은 기본적으로 하우 등 보조 정보를 제공한다. 또한 PC를 Xbox 360의 스터프웍스 웹 사이트의 모든
More informationMicrosoft PowerPoint UI-Event.Notification(1.5h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 UI 이벤트 Event listener Touch mode Focus handling Notification Basic toast notification Customized toast notification Status bar notification 2 사용자가인터랙션하는특정 View
More information2
2 About Honeyscreen Copyright All Right Reserved by Buzzvil 3 2013.06 2013.1 2014.03 2014.09 2014.12 2015.01 2015.04 전체 가입자 수 4 7 8 10대 20대 30대 40대 50대 9 52.27 % 42.83 % 38.17 % 33.46 % 10 Why Honeyscreen
More information: AA ( ) TV : ios ( ).. 2
: 2014... AA 1. 2. ( ) TV : ios ( ).. 2 ( ) TV : ios ( ).... 3 AA. `` 음악없음 을 To create 생성하기 a new 위해 group. 스피커를 choose some 선택하세요 speakers.. 모두 No 선택 Music + 음악없음 음악없음 Surround Group Soundbar 2 음악없음 완료
More informationC++ Programming
C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout
More informationmobile_guide_SA
네이버 모바일배너 모바일 네트워트 GUIDE AD GUIDE Version 1.0 03. 적용위치 04. Appendix 목차 네이버 모바일배너 개요 1. 텍스트형 광고 2. 이미지형 광고 3. 롤링형 광고 네이버 모바일배너 개요 1. 텍스트형 광고 2. 이미지형 광고 3. 롤링형 광고 01/03 네이버 모바일배너 개요 네이버 모바일배너는 네이버 모바일 서비스
More information스마트월드캠퍼스 교육교제
LG Smart TV SDK 활용법 Contents 1. Using LG Smart TV SDK 2. Testing & Publishing 3. UX Guideline Using LG Smart TV SDK LG Smart TV SDK 구성 Open API IDE* App 구현을 위한 LG Smart TV 인터페이스 제공 Media playback, TV 제어,
More information메뉴얼41페이지-2
데이터 기반 맞춤형 성장관리 솔루션 스마트빌 플러스 은행계좌등록 은행계좌를 조회하여 등록합니다. 신용카드등록 신용카드를 조회하여 등록합니다. 금융정보 자동수집을 위하여 인증서이름, 아이디, 비밀번호를 등록합니다. 통합 자동 수집 금융정보 통합 자동수집을 실행합니다 은행계좌등록 은행계좌를 조회하여 등록합니다. 신용카드등록 신용카드를 조회하여
More informationWindows Live Hotmail Custom Domains Korea
매쉬업코리아2008 컨퍼런스 Microsoft Windows Live Service Open API 한국 마이크로소프트 개발자 플랫폼 사업 본부 / 차세대 웹 팀 김대우 (http://www.uxkorea.net 준서아빠 블로그) Agenda Microsoft의 매쉬업코리아2008 특전 Windows Live Service 소개 Windows Live Service
More information슬라이드 1
1 도구 개요 2 도구 설치 방법 3 도구 기능 소개 4 도구 활용 예제 5 FAQ 6 도구 평가 7 용어집 목차 1. 도구 개요 2. 도구 설치 방법 2.1 OpenProj 다운로드 2.2 OpenProj 설치하기 4. 도구 활용 예제 4.1 예제 설명 4.2 일정 관리 4.3 인적 자원 관리 4.4 프로젝트 진행 4.5 프로젝트 변경 관리 3.1 OpenProj
More information슬라이드 1
핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton
More information회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제
회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제 KR000****4 설 * 환 KR000****4 송 * 애 김 * 수 KR000****4
More informationB2B 매뉴얼
오디오북 모바일앱 사용자 매뉴얼 (안드로이드) 오디언 도서관 안드로이드용 - 오디오북 모바일앱은 안드로이드 OS 버전 2.1 이상을 지원합니다. (대표 기종 : 갤럭시 S, 갤럭시 S II, 갤럭시탭, 모토로이, 넥서스원 등) - OS 버전은 홖경설정(설정) > 휴대폰정보 > 펌웨어버전(Android 버전)에서 확인하실 수 있습니다.. - 하위 버전의 OS는
More informationWeb Scraper in 30 Minutes 강철
Web Scraper in 30 Minutes 강철 발표자 소개 KAIST 전산학과 2015년부터 G사에서 일합니다. 에서 대한민국 정치의 모든 것을 개발하고 있습니다. 목표 웹 스크래퍼를 프레임웍 없이 처음부터 작성해 본다. 목표 웹 스크래퍼를 프레임웍 없이 처음부터 작성해 본다. 스크래퍼/크롤러의 작동 원리를 이해한다. 목표
More informationSQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자
SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전
More information<3036C7E2BCF6C3D6C1BEBABB2E687770>
문화향수실태조사 SURVEY REPORT ON CULTURAL ENJOYMENT 2006 문화관광부 한국문화관광정책연구원 Ministry of Culture & Tourism Korea Culture & Tourism Policy Institute 서문 우리나라 국민들이 문화와 예술을 얼마나, 그리고 어떻게 즐기고 있는지를 객관적으 로 파악하기 위하여, 1988년부터
More information<5B33B9F8B0FAC1A65D20B9E6BCDBBDC9C0C7BDC3BDBAC5DB20B0B3BCB1B9E6BEC8BFACB1B82DC3D6C3D6C1BE2E687770>
KCSC 2015-003 방송심의시스템 개선방안 연구 시청자참여심의제 도입 가능성을 중심으로 2015. 12. 이 보고서는 2015년 방송통신심의위원회의 심의정책 연구개발 사업의 연구결과로서 보고서의 내용은 연구자의 견해이며, 방송통신심의위원회의 공식 입장은 아닙니다. 방송심의시스템 개선방안 연구 - 시청자참여심의제 도입 가능성을 중심으로 - 연 구 진 연구수행기관
More information*BA_00
Published by Ji&Son Inc. Printed in Korea Copyright 2010 by Ji&Son Inc. Authorized translation of the English edition of Beautiful Architecture 2009 O Reilly Media, Inc. This Translation is published and
More information<5BB1E2BABB5D5FB0F8B0F8BACEB9AE5FBDC3B0A3C1A6B1D9B9ABBFCD5FC0B0BEC6C8DEC1F7BFA15FB5FBB8A55FB4EBC3BCC0CEB7C25FC8B0BFEBB0FAC0C75FBFACB0E8B9E6BEC85F2D5FB9AEB9CCB0E62E687770>
2012 연구보고서-23 공공부문 시간제근무와 육아휴직에 따른 대체인력 활용과의 연계방안 연구책임자 : 문미경(본원 선임연구위원) 공동연구자 : 김복태(본원 연구위원) 금창호(한국지방행정연구원 선임연구위원) 박미연(본원 위촉연구원) 발 간 사 본 연구는 유연근무제의 여러 형태 중 최근 공공부문에서 가장 관심을 보이 고 있는 시간제 근무에 초점을 맞추어, 육아휴직
More information캐빈의iOS프로그램팁01
캐빈의 ios 프로그램팁 글쓴이 : 안경훈 (kevin, linuxgood@gmail.com) ios 로프로그램을만들때사용할수있는여러가지팁들을모아보았다. 이글을읽는독자는처음으로 Objective-C 를접하며, 간단한문법정도만을알고있다고생각하여되도록그림과함께설명을하였다. 또한, 복잡한구현방법보다는매우간단하지만, 유용한프로그램팁들을모아보았다. 굳이말하자면 ios
More information경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P
Duplicator 는기본적으로원본하드디스크를빠르게복사본하드디스크에복사하는기능을하는것입니다.. 복사본 하드디스크가원본하드디스크와똑같게하는것을목적으로하는것이어서저용량에서고용량으로복사시몇 가지문제점이발생할수있습니다. 하드디스크는사용하려면, 디스크초기화를한후에포맷을해야사용가능합니다. Windows PC는 MBR과 GPT 2 개중에 1개로초기화합니다. -Windows
More information처음에 읽어 주십시오! 본 사용설명서의 내용은 예고 없이 변경할 수 있습니다. 본 사용설명서의 내용은 제조 공정의 각 과정에서 확인했습니다. 문제점이나 잘못된 점 이 있으면 개의치 마시고 당사로 연락해 주십시오. 본 사용설명서의 내용을 복제하는 것은 일부 또는 전부에
스마트폰 또는 태블릿 단말기용 앱 EXILIM Link 사용설명서 KO 본 설명서의 절차에 따라 일반 스마트폰/태블릿을 연결할 수 있습니다. 일부 정보(표시 내 용 등)는 실제 사용 중인 기기에서 다르게 나타날 수도 있습니다. 향후 참고할 경우를 대비해 사용설명서는 안전한 장소에 보관해 주십시오. 처음에 읽어 주십시오! 본 사용설명서의 내용은 예고 없이 변경할
More informationCSG_keynote_KO copy.key
101. 3 Shutterstock 4 Shutterstock 5 Shutterstock? 6? 10 What To Create 10 Ways to Find Trends and Inspiration 12 15 17 :. 21 24 Shutterstock 26 29 -. 31 Shutterstock : 36 " " 37! 39 41 45 46 47 49 Copyright
More information고객 카드 1588-7278
고객 카드 1588-7278 i 안전을 위한 경고사항 안전을 위한 주의사항 i 헤드유닛 DISP RADIO MEDIA PHONE SEEK TRACK 헤드유닛 FOLDER MUTE SCAN SETUP 스티어링 휠 리모트 컨트롤 + - MODE 기본모드 화면 Radio 모드 변경 RADIO 라디오 주파수 검색하기 SEEK TRACK 라디오 모드 사용하기 저장방송
More informationUser Guide
HP ThinUpdate 관리자 설명서 Copyright 2016 HP Development Company, L.P. Windows는 미국 및/또는 기타 국가에서 Microsoft Corporation의 등록 상표 또는 상표입 니다. 기밀 컴퓨터 소프트웨어. 소유, 사용 또는 복사 에 필요한 유효한 사용권을 HP로부터 취득했 습니다. FAR 12.211 및
More informationMicrosoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]
리눅스 설치 Vmware를 이용한 Fedora Core 8 설치 소프트웨어실습 1 Contents 가상 머신 실습 환경 구축 Fedora Core 8 설치 가상 머신 가상 머신 가상 머신의 개념 VMware의 설치 VMware : 가상 머신 생성 VMware의 특징 실습 환경 구축 실습 환경 구축 Fedora Core 8 설치 가상 머신의 개념 가상 머신 (Virtual
More information3D MAX + WEEK 9 Hansung Univ. Interior Design
3D MAX + WEEK 9 Hansung Univ. Interior Design 3D MAX + UNREAL ENGINE 4 4 4 이용하여 애니메이션 만들기 Max에서 준비하기 공간 만들기 Max에서 준비하기 박공지붕 만들기: 5000mm만큼 올리기 Max에서 준비하기 창만들기: 한쪽 벽만 창 제작 Max에서 준비하기 벽체 분리:Detach Max에서 준비하기
More information사용하기 전에 2
SHV-E330K 사용 설명서 www.samsung.com/sec 사용하기 전에 2 표기된 기호 설명 저작권 등록상표권 3 애플리케이션 호환 안내 LTE 서비스 안내 네트워크 자동 전환 서비스 통화 서비스 4 기타 서비스 5 6 시작하기 8 10 11 12 16 19 21 23 24 24 24 24 기본 기능 익히기 25 26 29 32 33 36 36 37
More informationez-shv manual
ez-shv+ SDI to HDMI Converter with Display and Scaler Operation manual REVISION NUMBER: 1.0.0 DISTRIBUTION DATE: NOVEMBER. 2018 저작권 알림 Copyright 2006~2018 LUMANTEK Co., Ltd. All Rights Reserved 루먼텍 사에서
More informationiOS 앱의 빌드, 패키징, 배포에 필요한 모든 것 iOS 빌드와 릴리스 - 빌드 자동화와 배포
Hanbit ebook Realtime 43 ios 앱의 빌드, 패키징, 배포에 필요한 모든 것 ios 빌드와 릴리스 빌드 자동화와 배포 Essential ios Build and Release 론 로슈 지음 / 이연진 옮김 이 도서는 O REILLY의 Essential ios Build and Release의 번역서입니다. ios 앱의 빌드, 패키징, 배포에
More information