책 소개
이 책의 특징
- 1인 개발자가 앱을 기획하고 개발, 출시하기까지의 모든 내용을 담고 있다.
- 어려운 이론보다는 쉬운 예제를 통해 앱 개발의 전반적인 내용을 다룬다.
- 처음 앱을 출시하고자 할 때 무엇을 학습하고, 무엇을 준비해야 되는지 알려준다.
이 책이 필요한 독자
- iOS 앱 기획부터 개발, 출시까지 직접 하고 싶은 독자
- 쉬운 예제로 세세한 부분까지 꼼꼼하게 알고 싶은 독자
- 저자가 실제로 앱 기획부터 출시까지 진행한 발자취를 따라가보고 싶은 독자
아이폰이라는 제품이 세상에 나온지 10년이 되었습니다. 아이폰으로 대표되는 스마트폰을 이용한 우리의 생활 방식은 이미 완전히 자리를 잡았으며, 스마트폰은 이제 실생활에서 없어서는 안 되는 하나의 필수 요소가 되었습니다.
처음 앱을 출시하려는 사람들이 어떠한 순서로 어디까지만 배워도 되는지 알려주는 곳은 별로 없습니다. 앱 출시를 위해서는 특정 프로그래밍 언어의 달인이 돼야 할 것 같고, 모든 디자인 패턴을 마스터해야 첫 글자를 타이핑할 수 있을 것 같은 생각이 듭니다.
하지만 모든 것을 다 알고 시작할 필요는 없습니다. 한 단계, 한 단계 알아가며 진행해도 됩니다. 이 책은 최소의 것을 하나씩 알아가면서 진행하도록 되어 있습니다. 앱 출시에 영향을 미치지 않는 선에서 군더더기 정보는 최대한 빼려고 노력했습니다. 이 책을 통해 iOS 프로그래밍의 기초를 쉽고 빠르게 터득하시기 바랍니다.
- 1인 개발자가 앱을 기획하고 개발, 출시하기까지의 모든 내용을 담고 있다.
- 어려운 이론보다는 쉬운 예제를 통해 앱 개발의 전반적인 내용을 다룬다.
- 처음 앱을 출시하고자 할 때 무엇을 학습하고, 무엇을 준비해야 되는지 알려준다.
이 책이 필요한 독자
- iOS 앱 기획부터 개발, 출시까지 직접 하고 싶은 독자
- 쉬운 예제로 세세한 부분까지 꼼꼼하게 알고 싶은 독자
- 저자가 실제로 앱 기획부터 출시까지 진행한 발자취를 따라가보고 싶은 독자
아이폰이라는 제품이 세상에 나온지 10년이 되었습니다. 아이폰으로 대표되는 스마트폰을 이용한 우리의 생활 방식은 이미 완전히 자리를 잡았으며, 스마트폰은 이제 실생활에서 없어서는 안 되는 하나의 필수 요소가 되었습니다.
처음 앱을 출시하려는 사람들이 어떠한 순서로 어디까지만 배워도 되는지 알려주는 곳은 별로 없습니다. 앱 출시를 위해서는 특정 프로그래밍 언어의 달인이 돼야 할 것 같고, 모든 디자인 패턴을 마스터해야 첫 글자를 타이핑할 수 있을 것 같은 생각이 듭니다.
하지만 모든 것을 다 알고 시작할 필요는 없습니다. 한 단계, 한 단계 알아가며 진행해도 됩니다. 이 책은 최소의 것을 하나씩 알아가면서 진행하도록 되어 있습니다. 앱 출시에 영향을 미치지 않는 선에서 군더더기 정보는 최대한 빼려고 노력했습니다. 이 책을 통해 iOS 프로그래밍의 기초를 쉽고 빠르게 터득하시기 바랍니다.
작가 소개
저 : 유용호
단순히 일을 잘하고 싶은 마음에 이런저런 기술들을 배우기 시작했다. 처음엔 엑셀에서 함수를 만들어 사용하는 것을 시작으로, 차차 프로그램 개발을 제대로 익히게 됐다. 결국 IT 관련 직종으로 옮기며 웹, iOS 관련 기획과 개발로 다수의 프로젝트를 진행했고 지금도 진행 중이다. 사람들이 오래 일하는 게 보기 싫어서 쉽게 일할 수 있도록 도와주는 프로그램들을 제작한다. 그러다 보니 본인이 더 오래 일하게 되는 이상한 상황에 빠지기도 한다. 현재보다 나아질 방법은 언제나 있다는 마음으로 늘 더 나은 방식을 고민한다. 이런 고민이 즐거워서 하루하루 열심히 일하고 있다.
목 차
PART 1 시작하기
1. 시작하기
1.1 앱의 제작 과정
1.2 앱의 단계별 제작 과정 소개
1.3 작업 방식
2. 기획하기
2.1 환경 정하기
2.2. 프로토타입 작성하기
3. 디자인하기
3.1. 앱에 필요한 디자인
3.2 색상 세트 정하기
3.3 아이콘 콘셉트 정하기
3.4 UI/UX 정하기
3.5 앱 아이콘 제작 가이드라인
3.6 외주 의뢰
4. 개발 준비
4.1 스위프트 소개
4.2 iOS 소개
4.3 Xcode 소개
4.4 Xcode 설치
PART 2 앱 만들기 연습
5. 간단한 앱 만들기
5.1 Hello World 앱 만들기
5.2 레이블(UILabel) 사용법
5.3 변수와 상수란 무엇인가
5.4 버튼(UIButton) 사용법
5.5 타입이란 무엇인가
5.6 함수란 무엇인가
5.7 제어문이란 무엇인가
5.8 이미지 뷰(Image View) 사용법
5.9 오토레이아웃(AutoLayout) 사용법
5.10 클래스란 무엇인가
5.11 텍스트필드(UITextField) 사용법
5.12 상속이란 무엇인가
5.13 옵셔널(Optional)이란 무엇인가
5.14 테이블뷰(UITableView) 사용법
5.15 배열이란 무엇인가
5.16 도큐먼트 아웃라인(Document Outline) 사용법
5.17 Datasource가 배열로 작성된 UITableView
5.18 프로토콜(Protocol)이란 무엇인가
5.19 델리게이트 패턴(Delegate Pattern)이란 무엇인가
5.20 테이블뷰셀(TableViewCell) 사용법
5.21 화면 전환하기
5.22 프레젠트(Present) 화면 전환
5.23 네비게이션 콘트롤러(Navigation Controller) 화면 전환
5.24 세그(Segue) 화면 전환
PART 3 앱 만들기 실전
6. 제대로 된 앱 만들기
6.1 앱 소개
6.2 애플 개발자 등록
6.3 다루게 될 기능 및 파일 구조
6.4 프로젝트 만들기
6.5 런치스크린(LaunchScreen) 구성하기
6.6 메인 화면 구성하기
6.7 아이콘 폰트 적용하기
6.8 글쓰기 화면 만들기
6.9 글쓰기 화면 전환
6.10 텍스트뷰(UITextView), 텍스트필드(UITextField) 추가하기
6.11 액세서리뷰(AccessoryView) 만들기
6.12 SQLite 소개
6.13 SQL 구문
6.14 SQLite 사용 준비
6.15 싱글톤 패턴이란 무엇인가
6.16 SQLite 내용 저장하기
6.17 UITableView, CustomCell 만들기
6.18 SQLite 내용 읽어 오기
6.19 테이블뷰(UITableVeiw)에 내용 표시하기
6.20 글 내용 보여주기
6.21 제스처 인식하기
6.22 글 검색하기
6.23 SQLite 내용 삭제하기
6.24 환경설정 만들기
6.25 UserDefaults 사용법
6.26 현지화 작업
6.27 현지화 테스트
6.28 ViewController 전체 코드
6.29 앱 아이콘 등록
PART 4 앱 출시하기
7. 출시하기
7.1 애플 심사 기준
7.2 아이튠즈 앱 등록
7.3 스크린샷 준비
7.4 스크린샷 꾸미기
7.5 설명글 작성하기
7.6 현지화 언어 작성하기
7.7 라이선스 확인하기
7.8 프로젝트 파일 아카이브하기
7.9 제출하기
7.10 심사 승인 또는 거절
부록 다음 가야 할 길
A. 소개하지 않은 스위프트
B. 각종 콘트롤러 소개
C. 소스 관리 시스템
D. 앱 사용자 데이터 분석
1. 시작하기
1.1 앱의 제작 과정
1.2 앱의 단계별 제작 과정 소개
1.3 작업 방식
2. 기획하기
2.1 환경 정하기
2.2. 프로토타입 작성하기
3. 디자인하기
3.1. 앱에 필요한 디자인
3.2 색상 세트 정하기
3.3 아이콘 콘셉트 정하기
3.4 UI/UX 정하기
3.5 앱 아이콘 제작 가이드라인
3.6 외주 의뢰
4. 개발 준비
4.1 스위프트 소개
4.2 iOS 소개
4.3 Xcode 소개
4.4 Xcode 설치
PART 2 앱 만들기 연습
5. 간단한 앱 만들기
5.1 Hello World 앱 만들기
5.2 레이블(UILabel) 사용법
5.3 변수와 상수란 무엇인가
5.4 버튼(UIButton) 사용법
5.5 타입이란 무엇인가
5.6 함수란 무엇인가
5.7 제어문이란 무엇인가
5.8 이미지 뷰(Image View) 사용법
5.9 오토레이아웃(AutoLayout) 사용법
5.10 클래스란 무엇인가
5.11 텍스트필드(UITextField) 사용법
5.12 상속이란 무엇인가
5.13 옵셔널(Optional)이란 무엇인가
5.14 테이블뷰(UITableView) 사용법
5.15 배열이란 무엇인가
5.16 도큐먼트 아웃라인(Document Outline) 사용법
5.17 Datasource가 배열로 작성된 UITableView
5.18 프로토콜(Protocol)이란 무엇인가
5.19 델리게이트 패턴(Delegate Pattern)이란 무엇인가
5.20 테이블뷰셀(TableViewCell) 사용법
5.21 화면 전환하기
5.22 프레젠트(Present) 화면 전환
5.23 네비게이션 콘트롤러(Navigation Controller) 화면 전환
5.24 세그(Segue) 화면 전환
PART 3 앱 만들기 실전
6. 제대로 된 앱 만들기
6.1 앱 소개
6.2 애플 개발자 등록
6.3 다루게 될 기능 및 파일 구조
6.4 프로젝트 만들기
6.5 런치스크린(LaunchScreen) 구성하기
6.6 메인 화면 구성하기
6.7 아이콘 폰트 적용하기
6.8 글쓰기 화면 만들기
6.9 글쓰기 화면 전환
6.10 텍스트뷰(UITextView), 텍스트필드(UITextField) 추가하기
6.11 액세서리뷰(AccessoryView) 만들기
6.12 SQLite 소개
6.13 SQL 구문
6.14 SQLite 사용 준비
6.15 싱글톤 패턴이란 무엇인가
6.16 SQLite 내용 저장하기
6.17 UITableView, CustomCell 만들기
6.18 SQLite 내용 읽어 오기
6.19 테이블뷰(UITableVeiw)에 내용 표시하기
6.20 글 내용 보여주기
6.21 제스처 인식하기
6.22 글 검색하기
6.23 SQLite 내용 삭제하기
6.24 환경설정 만들기
6.25 UserDefaults 사용법
6.26 현지화 작업
6.27 현지화 테스트
6.28 ViewController 전체 코드
6.29 앱 아이콘 등록
PART 4 앱 출시하기
7. 출시하기
7.1 애플 심사 기준
7.2 아이튠즈 앱 등록
7.3 스크린샷 준비
7.4 스크린샷 꾸미기
7.5 설명글 작성하기
7.6 현지화 언어 작성하기
7.7 라이선스 확인하기
7.8 프로젝트 파일 아카이브하기
7.9 제출하기
7.10 심사 승인 또는 거절
부록 다음 가야 할 길
A. 소개하지 않은 스위프트
B. 각종 콘트롤러 소개
C. 소스 관리 시스템
D. 앱 사용자 데이터 분석
01. 반품기한
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
| 반품사유 | 반품 배송비 부담자 |
|---|---|
| 단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
| 고객 부담이 아닙니다. |
03. 배송상태에 따른 환불안내
| 진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
|---|---|---|---|
| 어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
| 환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
04. 취소방법
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
| 결제수단 | 환불시점 | 환불방법 |
|---|---|---|
| 신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
| 계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
| 휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
| 포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
06. 취소반품 불가 사유
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
| 상품군 | 취소/반품 불가사유 |
|---|---|
| 의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
| 계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
| 가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
| 자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
| CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
| 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
| 노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |










