이 책은 Xcode4라는 생소한 툴 때문에 앱 프로그래밍 공부에 어려움을 겪고 있는 입문자를 위한 책입니다. Xcode4 개발 방식이 약간 복잡하기는 하지만, 이 책에서 제시한 예제를 따라 하면서 학습하면 쉽게 적응할 수 있습니다.
앱도 하나의 여러 가지 복잡한 요소가 얽히고설킨 소프트웨어입니다. 따라서, 이 책만 갖고는 본인이 원하는 완벽한 앱을 구현할 수는 없습니다. 알고리즘을 구현하기 위해 Objecive-C도 훨씬 많이 학습해야 하고 알고리즘 구현 능력도 키워야 합니다. 다만, 이 책이 해주는 역할은 그 전 단계까지입니다. 기본적인 기능을 만들어낼 줄 알고 앱 개발 공부에 자신감을 심어줄 것입니다.
이 책으로 앱 개발 공부의 첫 단추를 잘 꿰었으면 합니다.
_대상 독자
프로그래밍에 약간의 지식이 있으면서 앱 개발 학습을 해보고자 하는 입문자
빠르게 아이폰 앱 개발 환경을 배워보고자 하는 프로그래머
_목차
1장 애플리케이션 개발 환경 만들기
1-1 아이폰 앱 개발 준비물
Lecture_개발에 필요한 환경
1-2 iOS SDK 다운로드와 인스톨
2장 iOS SDK 기본
2-1 iOS SDK의 정체
2-2 Xcode
2-3 인터페이스 빌더
2-4 iOS 시뮬레이터
3장 오브젝티브 C 기본
3-1 오브젝티브 C 기본
Lecture_오브젝티브 C란 무엇인가?
Lecture_오브젝티브 C의 역사
Lecture_객체지향이란?
Lecture_기본 문법
Lecture_변수
3-2 포인터 변수
Lecture_포인터 변수란?
Lecture_문자열 데이터 처리
Lecture_많은 데이터를 일괄 처리하기 - 배열
Lecture_다량의 데이터를 키워드로 처리하기
3-3 제어문
Lecture_if 문
if else 문
조건식
Lecture_switch 문
Lecture_while 문
Lecture_for 문
Lecture_주석
3-4 클래스
Lecture_오브젝트란? 클래스란?
Lecture_오브젝트 사용 방법
오브젝트 만들기
젝트 해제하기
속성에 액세스하기
메소드 실행하기
4장 애플리케이션 개발 기본
4-1 프로젝트 작성
프로젝트 만들기
템플릿 선택
4-2 프로젝트 구조와 작성 순서
Lecture_자주 사용하는 파일
Lecture_화면 디자인과 프로그램
Lecture_배치한 컨트롤과 프로그램을 연결하는 방법
IBOutlet 연결
IBAction 연결
여러 가지 IBOutlet과 IBAction 연결 방법
Lecture_애플리케이션 전체에 관한 프로그램
Lecture_델리게이트(Delegate)
Lecture_용어 검색
4-3 첫 번째 앱 제작
Lecture_앱을 만드는 순서
Practice_「“안녕하세요”라고 표시합니다」
5장 기본 컨트롤을 사용하여 만들기
5-1 UILabel : 문자열 표시
Lecture_UILabel로 할 수 있는 일
Practice_「레이블에 문자열을 표시합니다」
5-2 UIButton : 버튼을 눌러서 무언가를 합니다.
Lecture_UIButton으로 할 수 있는 일
Practice_「버튼을 탭하면 문자열을 표시합니다」
5-3 UITextField : 텍스트 입력
Lecture_UITextField로 할 수 있는 일
Practice_「문자열을 입력하면, 해당 문자열을 표시합니다」
5-4 UITextView : 긴 문자열 표시
Lecture_UITextView로 할 수 있는 일
Practice_「긴 문자열을 표시합니다」
5-5 UISwitch : On/Off 스위치
Lecture_UISwitch로 할 수 있는 일
Practice_「스위치를 전환하면, 문자열을 표시합니다」
5-6 UISlider : 슬라이더를 이용한 값 설정
Lecture_UISlider로 할 수 있는 일
Practice_「슬라이더를 움직이면 그 값을 표시합니다」
5-7 UIDatePicker : 날짜 설정
Lecture_UIDatePicker로 할 수 있는 일
Practice_「날짜를 선택하면 해당 날짜를 표시합니다」
5-8 UIAlertView : 경고창 표시
Lecture_UIAlertView로 할 수 있는 일
Practice_「버튼으로 경고창을 표시합니다」
5-9 UIActionSheet : 액션 시트 표시
Lecture_UlActionSheet로 할 수 있는 일
Practice_「버튼으로 액션 시트를 표시합니다」
6장 그림과 애니메이션 처리
6-1 UIImageView : 그림 표시
Lecture_UIImageView로 할 수 있는 일
인터페이스 빌더로 레이아웃할 때 설정할 수 있는 것
그림 등록 방법
속성에서 설정하거나 확인할 수 있는 것
Practice_「리소스 그림을 표시합니다(소스 코드 미사용)」
Practice_「리소스 그림을 표시합니다(소스 코드 사용)」
6-2 책갈피 애니메이션 : UIImageView의 기능을 이용한 애니메이션
Lecture_책갈피 애니메이션을 만드는 방법
Practice_「버튼을 탭하면 애니메이션을 재생합니다」
6-3 간이 애니메이션 : UIView의 기능을 이용한 애니메이션
Lecture_간이 애니메이션을 만드는 방법
Practice_「버튼을 탭하면 애니메이션을 재생합니다」
6-4 타이머 애니메이션 : NSTimer를 이용한 애니메이션
Lecture_NSTimer로 애니메이션을 만드는 방법
Practice_「레이블이 계속 움직이는 애니메이션」
7장 아이폰에 걸맞은 기능 구현
7-1 아이폰의 회전에 대응하기 : 아이폰을 옆으로 눕혔을 경우의 처리
Lecture_아이폰의 회전에 대응하는 방법
화면의 회전에 대응한 레이아웃 만들기
아이폰의 회전에 맞춰 화면을 자동으로 옆으로 눕히기
Practice_「아이폰의 회전에 맞춰 화면 회전시키기」
7-2 UIAccelerometer : 아이폰의 기울기 조사하기
Lecture_가속도 센서 사용법
Practice_「아이폰의 기울기를 수치로 표시합니다」
Practice_「기울이면 볼이 굴러가는 장남감」
7-3 CoreLocation.framework : 현재 위치와 방향 조사
Lecture_CoreLocation을 사용한 현재 위치와 방향 조사 방법
Practice_「현재 위치의 위도와 경도, 방향을 알아냅니다」
7-4 MapKit.framework : 지도 표시
Lecture_MKMapView를 이용한 지도 사용법
Practice_「현재 위치의 지도를 표시합니다」
8장 데이터 읽기와 쓰기
8-1 UIWebView : 웹 페이지 표시
Lecture_웹뷰를 이용한 웹 페이지 표시 방법
Practice_「앱 안에서 웹 페이지를 표시합니다」
8-2 UIImage : 웹 그림 표시
Lecture_이미지 뷰를 이용해 웹에 있는 그림을 표시하는 방법
Practice_「웹에 있는 그림을 표시합니다」
8-3 NSXMLParser : 웹에 있는 XML 읽어들이기
Lecture_XML 해석 방법
Practice_「XML을 읽어들이고 표시합니다」
8-4 NSUserDefault : 일시적으로 데이터 저장
Lecture_유저 디폴트를 사용한 데이터 읽기/쓰기 방법
Practice_「문자열을 입력하고, 다음 번 실행 시에 표시합니다」
9장 멀티 뷰 앱 만들기
9-1 Utility Application : 앞뒤가 전환되는 앱
Lecture_유틸리티 애플리케이션 작성 방법
Practice_「뒤쪽 화면에서 스위치를 ON/OFF하면 앞쪽 화면이 변하는 앱」
9-2 Tab Bar Application : 여러 화면이 전환되는 앱
Lecture_탭바 애플리케이션 작성 방법
Practice_「두 개의 탭으로 화면을 전환할 때마다 카운트를 증가시킵니다」
Practice_「세 개의 탭으로 화면을 전환할 때마다 카운트를 증가시킵니다」
10장 테이블 표시
10-1 UITableView : 복수의 데이터를 리스트로 표시하기
Lecture_테이블 뷰의 구조
Lecture_테이블 뷰 사용 방법
Practice_「테이블에 같은 문자열을 20개 표시합니다」
Practice_「테이블에 설정한 문자열을 2x3행으로 표시합니다」
10-2 내비게이션 기반 : 화면을 슬라이드하면서 계층별로 화면 표시하기
Lecture_리스트를 선택(탭)하면 화면이 슬라이드되는 앱 작성 방법
Practice_「행을 선택하면 화면이 슬라이드되고 하위 계층 화면이 표시됩니다」
10-3 셀 사용자 지정 : 셀의 표시 사용자 지정하기
Lecture_셀을 조금만 변경하는 방법
테이블 뷰 전체의 배경색 설정
셀의 높이 설정
문자열 내용 설정
문자열의 색 설정
폰트나 크기 설정
셀의 액세서리 설정
셀 스타일 설정
Lecture_셀을 자유롭게 배치하는 방법
Practice_「테이블 뷰의 셀을 직접 작성합니다」
11장 앱 완성하기
11-1 아이콘
Lecture_아이콘 설정 방법
Practice_「앱에 아이콘을 설정합니다」
11-2 초기 화면
Lecture_초기 화면 작성 방법
Practice_「앱에 초기 화면을 설정합니다」
11-3 지역화
Lecture_지역화 방법
앱 이름 전환 방법
사용하는 문자열을 전환하는 방법
사용하는 그림을 전환하는 방법
Practice_「앱을 지역화합니다」
12장 실제 기기 테스트
12-1 실제 기기에서 테스트하기
Lecture_iOS Developer Program에 유료 회원 등록하기
Lecture_「Organizer」에서 Provisioning Profile 만들기
Organizer
Lecture_앱을 실제 아이폰에 설치해서 실행하기
_주요 내용
도와주세요! 이제 막 앱 개발을 시작했어요!
뚝딱뚝딱 만들어보고 원리까지 배운다!
프로그래밍 초보자도 쉽게 배울 수 있습니다.
클릭클릭으로 뚝딱뚝딱 만들면서 배우기 때문에 초보자도 쉽게 따라 할 수 있습니다. 기반 언어인 Objective-C도 핵심만 간결하게 설명하고 있어, 프로그램 구현 원리를 쉽게 파악할 수 있습니다.
Xcode4 통합 툴 개발에 쉽게 적응할 수 있습니다.
핵심 기능 위주의 심플한 앱 제작을 통해 응용 가능한 기초 원리를 충분히 체득할 수 있습니다. 그리고 인터페이스 빌더가 합해져 개발하기 편리한 통합 툴 Xcode4에 쉽게 적응할 수 있습니다.
직관적 일러스트는 전체 과정을 한눈에 보여줍니다.
모든 기능, 원리 등이 비주얼한 일러스트로 표현되어 직관적으로 전체 상황을 파악할 수 있습니다.
아마존 재팬 모바일 분야 독보적 1위
아마존 재팬에서 Xcode3 기반의 전판부터 개정판인 이 책까지 모바일 분야에서 독보적인 1위를 고수하고 있습니다.
_편집자 코멘트
이 책을 편집하면서 꼭 MS의 비주얼 툴 개발 방식을 처음 배웠을 때를 떠올렸습니다. 처음 보는 개발 방식에 많이 낯설어 했던 기억이 있습니다. Xcode4도 복잡한 관계 때문에 입문하는 사람에게는 진입장벽이 있겠구나 생각했는데, 이 책을 보면서 크게 어려움 없이 이해하고 적응할 수 있었습니다. 이 책을 끝까지 학습하면 확실히 아이폰 앱 개발 프로세스에 쉽게 적응하고 더 심도 있는 학습을 할 수 있는 기본기를 갖출 수 있을 것으로 기대합니다.
_저자 소개
지은이_Yoshinao Mori
웹 게임 크리에이터. Flash와 iPhone용 오리지널 게임 컨텐츠 개발과 개발 방법에 대한 집필 활동에 힘을 기울이고 있으며, 관서학원대학에서 비상근 강사로 활약 중이다.
저서:
「기본부터 확실히 익히는 ActionScript 3.0」(마이니치 커뮤니케이션)
「알려주세요! FLASH 8 ActionScript」(마이니치 커뮤니케이션)
「알려주세요! Flash MX 2004 ActionScript」(마이니치 커뮤니케이션)
「Flash 프로페셔널 스타일 [CS3 대응]」(공저, 마이니치 커뮤니케이션)
「ActionScript + CGI 프로그래밍」(소프트뱅크)
「프로가 되기 위한 Flash의 대원칙」(공저, MDN)
삽화_Matsumura Makio
만화가, 일러스트레이터.
1984년부터 일러스트레이터, 만화가로 다양한 매체를 통해 활동하고 있다. 1995년에는 Flash의 전신인 「스마트 스케치」에 빠진 후부터 제작은 물론, Flash의 포교 활동에 힘을 기울이고 있다. Flash 2~8까지 개정을 거듭한 「알려주세요! ! Flash」(다나카 마리씨와 공저) 시리즈로 인기를 얻어 수많은 「알려주세요」 추종자가 있다. 세이안 조형대학 교수로 재직 중이다.
http://www.makion.net/
옮긴이_김태현
프로그래머. 번역가.
80년대 초반 FORTRAN, COBOL, BASIC, C 등으로 프로그래밍을 시작한 소프트웨어 엔지니어. 90년대 초반부터 일본에서 휴대폰 기지국 개발, 자동차 차량제어 소프트웨어 품질 감사 등 다수의 프로젝트에 참여. 현재 임베디드 소프트웨어의 품질 향상과 개발 방법에 대한 번역, 집필 활동에 힘을 기울이고 있다.