아이폰 5 프로그래밍(시작하세요)(위키북스 임베디드 모바일 시리즈 23)
iOS SDK를 이용한 아이폰 개발
『아이폰 5 프로그래밍』은 아이폰, 아이패드, 아이팟 터치 프로그램을 기초부터 고급 내용까지 소개하는 책이다. 오브젝티브-C에 대한 기본적인 정보만을 가지고도 엑스코드와 iOS 5 SDK를 내려받는 등의 기본적인 내용부터 애플리케이션을 개발하는 과정까지 이르도록 안내한다. 애플 사용자들이 즐기는 버튼, 스위치, 피커, 툴파, 슬라이더와 같은 인터페이스 요소와 연동하는 법도 다룬다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
이 책의 예제들은 모두 이전과 같은 애플리케이션을 개발하지만 접근 방식만큼은 크게 달라졌다. 일례로 기존에 헤더에 아웃렛이나 액션 메서드를 선언하고 인터페이스 빌더로 이동해 아웃렛이나 액션 메서드를 연결하는 방식에서 벗어나, 개정판에서는 코드로 드래그 기능을 활용해 액션과 아웃렛을 생성하면서 바로 연결한다. 또 스토리보드를 활용해 복잡한 레이아웃을 개발하는 법과, 아웃렛 컬렉션을 활용한 속성 관리법 등 이 책에는 iOS 5 SDK와 더불어 새로워진 엑스코드 4.x 개발 환경의 최신 개발 정보가 모두 담겨 있다.
전 세계 독자가 인정한 베스트셀러 아이폰 개발서!
베스트셀러인 시작하세요 아이폰 4 프로그래밍의 저자들이 『시작하세요! 아이폰 5 프로그래밍』으로 다시 돌아왔다. 이번 개정판에서도 저자들은 최신 iOS SDK와 더불어 최신 버전의 엑스코드에 대한 완벽 가이드를 제공한다.
이번 개정판에서는 스토리보드와 아이클라우드를 소개하는 장을 별도로 추가하고 iOS 5 SDK에 맞춰 기존 장의 내용을 크게 수정하는 등 최신 기술을 모두 다루고 있다. 이 책에는 아이폰 4S, 아이패드 2, 최신 아이팟 터치 등 최신 iOS 기기용 앱을 개발하는 데 필요한 내용이 모두 들어 있다.
★ 이 책에서 다루는 내용과 장점 ★
이 책은 프로그래밍 도구 설치부터 iOS SDK의 고급 기능인 다중 스레딩 프로그래밍에 이르기까지 iOS 프로그래밍과 관련한 모든 내용을 상세히 다룬다. 특별히 이번 개정판에서는 iOS 5 SDK에서 새로 추가된 아이클라우드 백업 기능과 ARC를 활용한 속성 관리법, 스토리보드를 활용한 테이블 뷰 셀 디자인과 segue 활용법 등 최신 SDK와 최신 엑스코드에서 아이폰/아이패드/아이팟 터치 애플리케이션을 개발하는 데 필요한 지식을 모두 다룬다.
이 책을 통해 독자들은 iOS 프로그래밍의 기본 원리를 쉽게 익힐 수 있음은 물론, 어렵게만 보였던 테이블 뷰나, 내비게이션 컨트롤러의 동작 원리를 배울 수 있고, 최신 개발 환경에 맞게 효과적으로 애플리케이션을 개발하는 법을 배울 수 있다. 이 책은 장과 장의 예제가 별도 작성돼 있으므로 특정 주제에 대한 학습이 필요한 독자라면 언제든 해당 장을 펼쳐서 내용을 살펴볼 수 있다. 특별히 이 책의 이전 버전을 갖고 있는 독자라면 달라진 엑스코드 개발 환경을 다루는 2장, 스토리보드를 다루는 10장과, 아이클라우드를 다루는 14장을 먼저 읽어보면 많은 도움이 될 것이다. 또 ARC에 대해 소개하는 3장과 달라진 아이패드 애플리케이션을 개발하면서 달라진 엑스코드 템플릿을 다루는 11장 등도 눈여겨 볼 만하다.
이 책의 장점은 저자들의 혜안이 담겨 있다는 것이다. 이 책을 통해 독자들은 iOS 프로그래밍의 모범 개발 방식(best practice)을 자연스럽게 익힐 수 있다. 예를 들어 속성을 선언하는 방식이나 #pragma를 활용한 코드 구조화, 기저 컨트롤러의 구현과 컨트롤러 상속을 통한 코드 재사용, 스토리보드를 활용한 내비게이션 구현 등은 저자들이 주는 이런 혜안 중 일부에 지나지 않는다.
★ 이 책의 특징 ★
ㆍ 베스트셀러이자 코코아 터치 개발자들에게 가장 많이 추천하는 저서의 iOS 5 개정판
ㆍ 개발자 관점에서 새로운 SDK를 익히는 데 도움을 주는 트릭, 기법, 열정으로 가득 찬 설명
ㆍ 쉽게 이해하고 따라 할 수 있는 설명 방식
★ 개정판에서 달라진 점
이 책의 초판이 출시된 후 iOS 개발 커뮤니티는 눈에 띄게 성장했다. 그 사이 SDK는 지속적으로 발전했으며 애플에서는 계속해서 SDK의 업데이트 버전을 내놓고 있다.
물론 그동안 저자들도 바빴다. iOS SDK 5가 출시된다는 소식을 듣자마자 우리는 바로 새 책의 집필 작업에 착수했으며, 책에 들어 있는 예제 프로젝트를 하나씩 수정해 각각의 프로젝트가 최신 버전의 엑스코드와 SDK에서 컴파일됨은 물론, 코코아 터치에서 제공하는 가장 최신 기능과 최고의 기능들을 모두 활용할 수 있게 했다. 이 책에서는 전반적으로 수많은 작은 수정 사항들이 반영됐으며, 두 개의 새로운 장을 비롯해 수많은 변경 사항이 추가됐다. 새로 추가된 장 중 하나는 스토리보드에 대해 다루고, 또 다른 장에서는 아이클라우드에 대해 다룬다. 물론 책에 사용된 캡처 화면도 모두 새로 첨부했다.
- 1장 본문 중에서
목차
목차
이 책에 대한 소개
책에 필요한 도구
_ 개발자 옵션
_ 책을 이해하는 데 필요한 배경 지식
iOS 코딩의 차이점
_ 단 하나뿐인 활성 애플리케이션
_ 단 하나뿐인 창
_ 제한된 접근
_ 제한된 응답 시간
_ 제한된 화면 크기
_ 제한된 시스템 자원
_ 가비지 컬렉션은 없지만...
_ 코코아 터치의 고유 기능
_ 다른 접근 방식
이 책에서 다루는 내용
개정판에서 달라진 점
시작할 준비가 되었나?
▣ 02장 _ 티키 신 달래기
엑스코드에서의 프로젝트 설정
_ 엑스코드 워크스페이스 창
_ 프로젝트 자세히 살펴보기
엑스코드 인터페이스 빌더의 소개
_ Nib 파일에 포함된 내용
_ 라이브러리
_ 뷰에 라벨 추가하기
_ 속성의 변경
아이폰 앱처럼 다듬기 - 화룡점정
정리하며...
▣ 03장 _ 기본 상호작용 처리
모델-뷰-컨트롤러 패러다임
프로젝트의 생성
뷰 컨트롤러 살펴보기
_ 아웃렛과 액션의 이해
_ 뷰 컨트롤러 정리하기
_ UI 디자인
_ 테스트
애플리케이션 델리게이트 살펴보기
내용 정리
▣ 04장 _ 더 재미있는 사용자 인터페이스
컨트롤로 가득 찬 화면
능동적, 정적, 수동적 컨트롤
애플리케이션의 생성
이미지 뷰와 텍스트 필드의 구현
_ 이미지 뷰의 추가
_ 이미지 뷰의 크기 조절
_ 뷰 어트리뷰트의 설정
_ 텍스트 필드의 추가
_ 아웃렛의 생성과 연결
키보드 닫기
_ Done을 탭할 때 키보드 닫기
_ 배경을 터치할 때 키보드 닫기
_ 슬라이더와 라벨 추가
_ 액션 및 아웃렛의 생성과 연결
_ 액션 메서드의 구현
스위치, 버튼, 분할 컨트롤의 구현
_ 스위치 액션의 구현
분할 컨트롤의 액션 구현
액션 시트와 경고창의 구현
_ 액션 시트 델리게이트 메서드의 프로토콜 따르기
_ 액션 시트 보여주기
버튼 꾸미기
_ viewDidLoad 메서드의 활용
_ 컨트롤의 상태
_ 확장 가능 이미지
결승선 통과하기
▣ 05장 _ 자동 회전과 자동 크기 조절
자동 회전 기법
_ 포인트, 픽셀, 레티나 디스플레이
_ 자동 회전 접근 방식
Autosize 어트리뷰트를 활용한 회전 처리
_ 지원 방향의 설정
_ 지원 방향의 지정
_ Autosize 어트리뷰트를 활용한 인터페이스 디자인
_ 사이즈 인스펙터의 Autosize 어트리뷰트 활용
_ 버튼의 Autosize 어트리뷰트 설정
기기 회전 시 뷰 구조의 변경
_ 아웃렛의 생성과 연결
_ 회전 시 버튼 움직이기
뷰 대체하기
_ 두 개의 뷰 디자인
_ 뷰 대체 기능 구현하기
_ 아웃렛 컬렉션의 수정
이곳에서 빠져나가기
▣ 06장 _ 멀티 뷰 애플리케이션
자주 사용하는 멀티 뷰 애플리케이션 형태
멀티 뷰 애플리케이션의 아키텍처
_ 루트 컨트롤러
_ 콘텐츠 뷰의 해부
View Switcher 애플리케이션의 개발
_ 뷰 컨트롤러 및 Nib 파일의 생성
_ 애플리케이션 델리게이트의 수정
_ BIDSwitchViewController.h의 수정
_ 뷰 컨트롤러의 추가
_ 툴바를 활용한 뷰 개발
_ 루트 뷰 컨트롤러의 작성
_ 콘텐츠 뷰의 구현
_ 화면 전환 애니메이션
스위치를 내릴 시간
▣ 07장 _ 탭 바와 피커
Pickers 애플리케이션
델리게이트와 데이터 소스
탭 바 프레임워크의 설정
_ 파일 생성
_ 루트 뷰 컨트롤러의 추가
_ TabBarController.xib의 생성
_ 초기 테스트 실행
데이트 피커의 구현
단일 컴포넌트 피커의 구현
_ 아웃렛과 액션의 선언
_ 뷰의 개발
_ 데이터 소스와 델리게이트로 활용할 컨트롤러의 구현
멀티컴포넌트 피커의 구현
_ 아웃렛과 액션의 선언
_ 뷰의 개발
_ 컨트롤러의 구현
의존 컴포넌트의 구현
커스텀 피커를 활용한 간단한 게임 개발
_ 컨트롤러 헤더 파일의 작성
_ 뷰의 개발
_ 이미지 자원의 추가
_ 컨트롤러의 구현
_ 마지막 디테일
_ Audio Toolbox 프레임워크의 연결
마지막 스핀
▣ 08장 _ 테이블 뷰의 소개
테이블 뷰의 기본
_ 테이블 뷰와 테이블 뷰 셀
_ 그룹 테이블과 일반 테이블
간단한 테이블의 구현
_ 뷰 디자인
_ 컨트롤러의 작성
_ 이미지의 추가
_ 테이블 뷰의 셀 스타일 활용
_ 들여쓰기 수준의 설정
_ 행 선택의 처리
_ 폰트 크기와 행 크기의 수정
테이블 뷰 셀의 커스터마이징
_ 테이블 뷰 셀에 하위 뷰 추가
_ UITableViewCell 하위 클래스의 작성
_ Nib을 통한 UITableViewCell 로드
그룹 섹션과 인덱스 섹션
_ 뷰의 개발
_ 데이터 불러오기
_ 컨트롤러의 구현
_ 인덱스의 추가
검색 바의 구현
_ 설계에 대한 생각 정리
_ 수정 가능 객체의 깊은 복사본
_ 컨트롤러 헤더 파일의 업데이트
_ 뷰의 수정
_ 컨트롤러 구현체의 수정
한 테이블 위에 올려놓고 정리하기
▣ 09장 _ 내비게이션 컨트롤러와 테이블 뷰
내비게이션 컨트롤러의 기본
_ 스택이란?
_ 컨트롤러의 스택
6개 영역으로 구성된 계층적 애플리케이션 Nav
_ 하위 컨트롤러 살펴보기
_ Nav 애플리케이션의 골격
_ 프로젝트에 이미지 추가
_ 첫 번째 하위 컨트롤러: 더 보기 버튼 뷰
_ 두 번째 하위 컨트롤러: 체크리스트
_ 세 번째 하위 컨트롤러: 테이블 행 내의 컨트롤
_ 네 번째 하위 컨트롤러: 이동 가능한 행
_ 다섯 번째 하위 컨트롤러: 삭제 가능한 행
_ 여섯 번째 하위 컨트롤러: 편집 가능한 상세 영역
_ 그런데 남은 작업이 한 개 더 있다. . .
결승선 끊기
▣ 10장 _ 스토리보드
간단한 스토리보드의 생성
동적 프로토타입 셀
_ 스토리보드를 활용한 동적인 테이블 콘텐츠
_ 프로토타입 셀의 편집
_ 익숙한 테이블 뷰 데이터 소스
_ 로드될까?
정적 셀
_ 정적 셀 작업
_ 안녕, 테이블 뷰 데이터 소스
Segue
_ Segue 내비게이터의 생성
_ 빈 공간 채우기
_ 첫 번째 화면 전환
_ 조금 더 유용한 할일 목록
_ 할일 상세 화면
_ 더 많은 Segue의 생성
_ 리스트에서 할일 넘겨주기
_ 할일 상세의 처리
_ 상세 값을 다시 전달하기
_ 리스트가 상세 값 받게 하기
_ 다음 장으로의 부드러운 전환
▣ 11장 _ 아이패드에 대한 고려사항
분할 뷰와 팝 오버
_ 분할 뷰 프로젝트의 생성
_ 스토리보드를 활용한 구조 정의
_ 기능을 정의한 코드
대통령님이 오십니다
커스텀 팝오버의 생성
아이패드 마무리
▣ 12장 _ 애플리케이션 설정과 사용자 기본값
설정 번들 이해하기
AppSettings 애플리케이션
_ 프로젝트의 생성
_ 설정 번들의 활용
_ 애플리케이션에서 설정 읽기
_ 기본값의 등록
_ 애플리케이션 내에서의 기본값 수정
_ 실제처럼 만들기
스코티, 날 전송해줘
▣ 13장 _ 데이터 영속성의 기본
애플리케이션의 샌드박스
_ Documents 디렉터리 접근
_ tmp 디렉터리 접근
파일 저장 전략
_ 단일 파일을 통한 영속화
_ 여러 파일을 통한 영속화
프로퍼티 리스트의 활용
_ 프로퍼티 리스트의 직렬화
_ 데이터 영속성을 활용한 첫 번째 애플리케이션
모델 객체 아카이빙
_ NSCoding 프로토콜 따르기
_ NSCopying의 구현
_ 데이터 객체의 아카이빙 및 아카이빙 해제
_ 아카이빙 애플리케이션
iOS의 임베디드 SQLite3 활용
_ 데이터베이스의 생성과 열기
_ 바인드 변수의 활용
_ SQLite3 애플리케이션
코어 데이터의 활용
_ 엔티티와 관리 객체
_ 코어 데이터 애플리케이션
영구적인 보상
▣ 14장 _ 아이클라우드 시작하기
UIDocument를 활용한 문서 저장소 관리
_ TinyPix 개발
_ BIDTinyPixDocument의 생성
_ 코드 마스터
_ 초기 스토리보드 작업
_ BIDTinyPixView의 작성
_ 상세 뷰 스토리보드
아이클라우드 지원 기능의 추가
_ 프로비저닝 프로파일의 생성
_ 아이클라우드 자격의 활성화
_ 조회 방법
_ 어디에 저장할까?
_ 아이클라우드에 환경설정 저장하기
이 장에서 다루지 않은 내용
▣ 15장 _ 그랜드 센트럴 디스패치, 백그라운드 처리, 그리고 여러분
그랜드 센트럴 디스패치
SlowWorker의 소개
스레딩의 기본
작업 단위
GCD: 저수준 큐
_ 블록헤드 되기
_ SlowWorker의 개선
백그라운드 처리
_ 애플리케이션 생명 주기
_ 상태 변화 알림
_ 실행 상태 살펴보기
_ 실행 상태 변화의 활용
_ 비활성 상태의 처리
_ 백그라운드 상태의 처리
그랜드 센트럴 디스패치, 통신 끝!
▣ 16장 _ 쿼츠와 오픈지엘을 활용한 드로잉
그래픽 세계의 두 가지 뷰
쿼츠 2D의 드로잉 접근 방식
_ 쿼츠 2D의 그래픽 컨텍스트
_ 좌표계
_ 색상의 지정
_ 컨텍스트 내에서의 이미지 드로잉
_ 도형 그리기: 다각형, 선, 곡선
_ 쿼츠 2D 툴 예제 - 패턴, 그라이언트, 점선 패턴
QuartzFun 애플리케이션
_ QuartzFun 애플리케이션의 설정
_ 쿼츠 2D 드로잉 코드의 추가
_ QuartzFun 애플리케이션의 최적화
GLFun 애플리케이션
_ GLFun 애플리케이션의 설정
_ BIDGLFunView의 생성
_ BIDViewController의 업데이트
_ Nib 파일의 업데이트
_ GLFun 애플리케이션의 마무리
끝이 가까워지고 있다.
▣ 17장 _ 탭, 터치, 제스처
멀티터치 관련 용어
리스폰더 체인
_ 이벤트에 반응하기
_ 리스폰더 체인을 활용한 이벤트 전달
멀티터치 아키텍처
네 가지 터치 알림 메서드
TouchExplorer 애플리케이션
Swipes 애플리케이션
_ 자동 제스처 인식
_ 다중 스와이프의 구현
멀티 탭의 감지
핀치의 감지
커스텀 제스처의 정의
_ CheckPlease 애플리케이션
_ CheckPlease 터치 메서드
저기요? 확인 부탁해요!
▣ 18장 _ 여기는 어디? 코어 로케이션을 활용한 길 찾기
위치 관리자
_ 원하는 정확도의 설정
_ 거리 필터의 설정
_ 위치 관리자의 사용 시작
_ 위치 관리자의 현명한 활용법
위치 관리자 델리게이트
_ 위치 업데이트 받기
_ CLLocation을 활용한 위도와 경도 파악
_ 에러 통보
코어 로케이션의 활용
_ 위치 관리자 업데이트
_ 이동 거리의 판단
어디를 가든, 그 자리에 여러분이 있다
▣ 19장 _ 야호! 자이로와 가속도계!
가속도계 물리 이론
회전을 잊지 말자
코어 모션과 모션 관리자
_ 이벤트 기반의 모션
_ 적극적인 모션 접근
_ 가속도계의 결과
흔들림 감지
_ 흔들림 감지 내장 기능
_ 흔들어서 깨뜨리기
가속도계를 활용한 방향 제어
_ 구슬 굴리기
_ BIDBallView의 작성
_ 구슬의 움직임 계산
계속 구르기
▣ 20장 _ 카메라와 사진 라이브러리
이미지 피커와 UIImagePickerController의 활용
이미지 피커 컨트롤러 델리게이트의 구현
카메라와 사진 라이브러리의 길거리 테스트
_ 인터페이스 디자인
_ 카메라 뷰 컨트롤러의 구현
식은 죽 먹기!
▣ 21장 _ 애플리케이션 지역화
지역화 아키텍처
문자열 파일
_ 문자열 파일의 내용
_ 지역화된 문자열 매크로
현실 세계의 iOS: 애플리케이션의 지역화
_ LocalizeMe 애플리케이션의 설정
_ LocalizeMe의 테스트
_ Nib 파일의 지역화
_ 이미지의 지역화
_ 문자열 파일의 생성과 지역화
_ 애플리케이션 표시 이름의 지역화
안녕, 또 만나요
▣ 22장 _ 이제 어디로?
애플의 문서
메일링 목록
토론 포럼
웹 사이트
블로그
컨퍼런스
저자 트위터 팔로우
작별 인사
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

