
책소개
Mac 프로그램 개발 경험이 전혀 없는 개발자들도 쉽게 볼 수 있는 이 가이드북은 세상에서 가장 인기 있는 스마트폰 어플리케이션을 어떻게 만들 수 있는지 상세하게 설명하고 있다. 이 책을 통해 Objective-C 프로그래밍 언어와 Xcode 개발 툴을 어떻게 사용하는지 배울 수 있으며, 모든 챕터에는 혼자 실습할 수 있는 풍부한 코드가 제공된다. 또한, 따라하기 과정이 담긴 실습 동영상을 통해 더욱 쉽게 학습할 수 있다.
출판사소개
목차
Intro 진짜 iPhone 개발자 되기
iPhone 개발자 센터 가입
★ 따라하기 : iPhone 개발자 센터 가입
Xcode와 iPhone SDK 다운로드 및 설치
iPhone Developer Program 등록
★ 따라하기 : iPhone Developer Program 가입
요약(Summary)
1장 iPhone Software Development Kit(SDK)
App Store
Software Development Kit(SDK)
- 유료회원제
Objective-C, Foundation Framework, Cocoa Touch, UIKit
- Cocoa Touch
- Foundation Framework
iPhone 프레임워크
iPhone 제약 사항
- 메모리와 프로세서 속도
- 작은 화면
- 보안
- 언제든지 종료 가능한 애플리케이션
- 메모리 관리
관련 문서
★ 따라하기&동영상 : iPhone 개발 시작하기
요약(Summary)
2장 C 기초부터 다시보기
C 터미널 프로그램
★ 따라하기&동영상 : Xcode를 이용한 간단한 C 프로그램
C 언어 주석
Header, Import, Include 42
★ 따라하기&동영상 : 헤더 파일 작성
전처리 구문
★ 따라하기&동영상 : 전처리 구문 사용하기
데이터 타입, 연산자
제어문, 함수, 조건문
배열, 구조체
함수
printf 함수
포인터
★ 따라하기&동영상 : 포인터 사용하기
포인터 역참조(dereference)
포인터와 배열
★ 따라하기 : 포인터로 만든 배열
요약(Summary)
3장 Objective-C의 기초
Objective-C Class와 Object
Class Interface와 Implementation
★ 따라하기&동영상 : Class의 Interface와 Implementation 만들기
컴파일러 지시자 : @interface, @implementation
메서드 선언과 정의
★ 따라하기&동영상 : Simple Class에 sayHello 메서드 구현하기
Interface 구조
Implementation 구조
Public, Private, Protected 인스턴스 변수
Simple Messaging
Message에서의 self
Nested Arguments
인스턴스 메서드와 클래스 메서드
★ 따라하기&동영상 : Simple Class에 sayGoodBye 클래스 메서드 구현하기
alloc, init 메서드
Retain, Release를 이용한 메모리 관리
★ 따라하기&동영상 : 메모리 관리
인스턴스 변수와 메모리
Autorelease를 이용한 메모리 관리
요약(Summary)
4장 Objective-C의 활용
프로퍼티
- Retain
- Assign
- Copy
- 프로퍼티 해제
Multiple-Argument 메시지
★ 따라하기&동영상 : Simple Multiple-Argument Message 만들기
id 변수 타입, 다이내믹 타이핑, 다이내믹 바인딩
- id Type
- 다이내믹 타이핑과 다이내믹 바인딩
상속(Inheritance)
- 오버라이딩(Overriding) 메서드
- 오버로딩(Overloading) 메서드
카테고리
프로토콜
예외 처리
요약(Summary)
5장 iPhone에 애플리케이션 설치하고 디버깅하고 테스트하기
iPhone에 애플리케이션 설치하기
- Membership
- Certificate, Devices, Application ID, Provisioning
★ 따라하기&동영상 : 실제 iPhone에 애플리케이션 설치하고 구동하기
디버깅(Debugging)
- 디버거를 이용한 디버깅
★ 따라하기&동영상 : 애플리케이션 디버깅
- NSZombieEnabled
★ 따라하기&동영상 : 좀비 활성화
- Instruments Leaks
★ 따라하기 : 메모리 누수 찾기
- iPhone 시뮬레이터에서의 메모리 누수 찾기
애플리케이션 Deploy 및 Distribute
- 애플리케이션 Deploy
- 애플리케이션 Distribute
요약(Summary)
6장 애플리케이션(UIApplication, UIApplicationDelegate)
★ 따라하기&동영상 : UIApplicationDelegate에 UIView와 UIViewController 추가하기
UIWindow, UIApplication, UIApplicationDelegate 연결하기
★ 따라하기 : MainWindow.xib 조사
UIApplication, UIApplicationDelegate
- main.m 파일
- 애플리케이션 라이프 사이클 이벤트 처리
- 인터럽트
★ 따라하기&동영상 : 애플리케이션 인터럽트 처리
요약(Summary)
7장 뷰(UIView, UIViewController)
UIView 클래스
UIViewController 클래스
View-based Application 템플릿
IBOutlet, IBAction
★ 따라하기&동영상 : View-based Application 템플릿
★ 따라하기&동영상 : Window-based Application 템플릿
UIViewController와 애플리케이션 라이프 사이클 이벤트
★ 따라하기&동영상 : 라이프 사이클 메서드 관찰
요약(Summary)
8장 탭 바(UITabBar, UITabBarController)
UITabBar, UITabBarController, UITabBarItem, UITabBarControllerDelegate
★ 따라하기&동영상 : 탭 바 애플리케이션 템플릿 사용하기
★ 따라하기&동영상 : 탭 바 애플리케이션에 탭 바 아이템 추가하기
★ 따라하기&동영상 : 템플릿을 이용하지 않고 탭 바 애플리케이션 만들기
★ 따라하기&동영상 : 사용자 정의 탭 바 허용하기
요약(Summary)
9장 내비게이션(UINavigationBar, UINavigationBarController)
UINavigationBar, UINavigationController, UINavigationItem
★ 따라하기&동영상 : 내비게이션 바를 이용한 3단계 뷰 애플리케이션
- 다른 뷰 추가
★ 따라하기&동영상 : Window-based Application 템플릿으로 유틸리티 애플리케이션 만들기
UINavigationController에 대한 추가 내용
- Push와 Pop
- 내비게이션 바 설정
★ 따라하기&동영상 : 탭에서 내비게이션 컨트롤러 사용하기
요약(Summary)
10장 테이블(UITableView, UITableViewController)
UITableView
UITableViewDelegate, UITableViewDataSource
- UITableViewDelegate
- UITableViewDataSource
★ 따라하기&동영상 : UITableViewDelegate, UITableViewDataSource 적용
UITableViewController
★ 따라하기&동영상 : UITableViewController
그룹핑과 인덱싱
- Grouped 테이블 스타일
★ 따라하기&동영상 : 그룹핑
- 인덱싱
★ 따라하기&동영상 : 인덱싱
테이블 내 이미지
★ 따라하기&동영상 : 이미지 추가
행 선택
★ 따라하기&동영상 : 행 선택
행 높이 변경
★ 따라하기&동영상 : 행 높이 변경
테이블 셀 꾸미기
★ 따라하기&동영상 : 테이블 셀 꾸미기
사용자 정의 테이블 셀
★ 따라하기&동영상 : 인터페이스 빌더에서 사용자 정의 셀 만들기
내비게이션 바와 탭에서의 테이블
★ 따라하기&동영상 : 탭 내 내비게이션 컨트롤러에서의 테이블
테이블 셀 편집
- 편집 모드
- 편집 모드 메서드
★ 따라하기&동영상 : 행 편집
요약(Summary)
11장 Activity, Progress와 Alerting Users
Activity 표시-UIActivityIndicatorView
★ 따라하기&동영상 : UIActivityIndicatorView
Progress 확인-UIProgressView
★ 따라하기&동영상 : UIProgressView
알림창
- UIAlertView, UIAlertViewDelegate
★ 따라하기&동영상 : UIAlertView
★ 따라하기&동영상 : 여러 버튼 알림창
- UIActionSheet, UIActionSheetDelegate
★ 따라하기&동영상 : UIActionSheet
애플리케이션 배지
★ 따라하기&동영상 : 애플리케이션 배지 추가
요약(Summary)
12장 기본 컨트롤
버튼
- 배경 그림과 이미지를 포함한 버튼
★ 따라하기&동영상 : 배경 그림과 이미지를 포함한 버튼
버튼 타입
UIToolBar
★ 따라하기&동영상 : UIToolBar
UISwitch
UISlider
- 슬라이더 모양
슬라이더 값
- Continuous 프로퍼티
★ 따라하기&동영상 : 스위치, 슬라이더
UITextField
★ 따라하기&동영상 : (Number Pad를 이용한) UITextField
UITextView
UISegmentedControl
★ 따라하기&동영상 : UISegmentedControl
웹 뷰
- UIWebView
- UIWebViewDelegate
★ 따라하기&동영상 : 간단한 웹 브라우저
요약(Summary)
13장 피커와 카메라 컨트롤
피커-Date Picker와 Picker
- 데이트 피커
★ 따라하기&동영상 : 데이트 피커
★ 따라하기&동영상 : UIDatePicker 타이머 모드
- UIPickerView
★ 따라하기&동영상 : 피커
★ 따라하기&동영상 : UIPickerView 2개의 컴포넌트
★ 따라하기&동영상 : UIPickerView에 UIImageView 넣기
카메라 사용―UIImagePickerController
- UIImagePickerController
- UIImagePickerControllerDelegate
★ 따라하기&동영상 : UIImagePickerController
요약(Summary)
14장 애플리케이션 세팅
설정 애플리케이션
Settings Bundle
★ 따라하기&동영상 : Settings Bundle 생성
- 세팅 필드 타입
★ 따라하기&동영상 : PSTextFieldSpecifier 추가
- PSMultiValueSpecifier
★ 따라하기&동영상 : PSMultiValueSpecifier 추가
- PSToggleSwitchSpecifier
★ 따라하기&동영상 : PSToggleSwitchSpecifier 추가
- PSSliderSpecifier
★ 따라하기&동영상 : PSSliderSpecifier 추가
- PSChildPaneSpecifier
★ 따라하기&동영상 : PSChildPaneSpecifier 추가
NSUserDefaults로 설정 값 불러오기
★ 따라하기&동영상 : Settings Bundle 불러오기
요약(Summary)
15장 프로퍼티 리스트, 아카이브
iPhone의 디렉터리 구조
- 디렉터리
프로퍼티 리스트
- 단순 나열(Serialization)
★ 따라하기&동영상 : NSArray 저장
- NSPropertyListSerialization
★ 따라하기&동영상 : XML 프로퍼티 리스트로 저장
아카이브
- 필요한 프로토콜
- NSKeyedArchiver, NSKeyedUnarchiver
★ 따라하기&동영상 : 오브젝트 아카이브, 아카이브 해제
★ 따라하기&동영상 : 오브젝트 계층 아카이브, 아카이브 해제
요약(Summary)
16장 SQLite를 이용한 데이터 유지
SQLite 데이터베이스 추가
★ 따라하기&동영상 : FireFox SQLite Manager를 이용한 간단한 데이터베이스 생성
SQLite 데이터베이스 기본 사용법
- 데이터베이스 열기
Statement, statement 준비, statement 실행
- Select
★ 따라하기&동영상 : 데이터베이스 열기 및 쿼리하기
- SQLite 바인딩, 추가, 갱신, 삭제
★ 따라하기&동영상 : 데이터베이스를 쓰기 가능하게 만들기
요약(Summary)
17장 코어 데이터
코어 데이터-간단한 설명
모델 생성
- 엔티티
★ 따라하기&동영상 : 코어 데이터 모델에 엔티티 추가
- 애트리뷰트
★ 따라하기&동영상 : 애트리뷰트를 코어 데이터 모델에 추가하기
- Relationship
★ 따라하기&동영상 : 모델링 Relationship
모델, 컨텍스트, 스토어
- NSManagedObjectModel
- NSPersistentStoreCoordinator
- NSManagedObjectContext
NSManagedObject
★ 따라하기&동영상 : 엔티티에서 NSManagedObject 생성하기
★ 따라하기&동영상 : 애플리케이션 코드에 코어 데이터 추가하기
오브젝트 추가
변경 사항 저장
엔티티 Fetch
- NSFetchRequest
- NSPredicate
- NSSortDescriptor
엔티티 삭제
★ 따라하기&동영상 : 엔티티 생성, 획득, 삭제
요약(Summary)
18장 멀티미디어
사운드 플레이
- AudioServicesPlaySystemSound
- AVAudioPlayer, AVAudioPlayerDelegate
★ 따라하기&동영상 : 사운드 파일과 MP3 플레이
Media Player Framework
- 미디어 데이터 클래스
- 멀티미디어 선택
- 멀티미디어 플레이-MPMusicPlayerController
★ 따라하기 : 미디어 피커와 미디어 플레이어 사용하기
MPMoviePlayerController
★ 따라하기&동영상 : 동영상 플레이
요약(Summary)
19장 간단한 네트워크 프로그래밍
CFNetwork
NSURL
★ 따라하기 : NSURL을 이용한 간단한 네트워크 애플리케이션
요약(Summary)
배송
- 배송비, 무료배송비는 업체 사정에 따라 달라질 수 있습니다.
- 배송은 결제 확인 후 다음날부터 2~3일 이내에 배송됩니다. (단 도서 산간지역은 1~2일정도 더 소요됩니다.)
- 공휴일은 배송기간에 포함되지 않습니다.
- 주문하신 상품이 여러개인 경우 동일한 업체의 상품만 묶음 배송 가능합니다. (업체 사정에 따라 달라질 수 있습니다.)
- 배송정보는 상단 주문조회나 마이페이지 주문목록에서 가능합니다.
상품 품절
- 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드립니다.
주문취소/변경
- 주문 상품에 대한 변경사항(품절,가격변동)이 발생하면 전화나 메일을 통해 변경내용을 알려드립니다.
- 주문 상품의 변경/취소/환불은 배송 시작전 마이페이지에서 직접 신청이 가능합니다.
- 주문 상품이 발송된 시점에서는 변경/취소/환불이 모두 불가능합니다.
반품/교환
- 기간 : 배송받으신 후 7일 이내에 가능합니다.
- 방법 : 홈페이지 마이페이지 > 반품/ 교환 신청 및 조회에서 가능합니다.
- 배송비 부담 : 상품에 이상이 있을시에는 무료, 고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담입니다.
- 포장 개봉 후 재판매가 불가능한 상품은 반품/교환이 불가능합니다.
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우, 반품/교환이 불가능합니다.
반품/교환 불가 사유
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우 (단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품 등의 포장을 훼손한 경우
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상 환불 지연에 따른 배상
- 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리합니다.
- 대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리합니다.