아이폰 위치 기반 애플리케이션 개발
- 원서명iPhone Location Aware Apps by Example: Beginner's Guide (ISBN 9781849692243)
- 지은이지샨 챠우드해리
- 옮긴이정승원
- ISBN : 9788960774605
- 35,000원
- 2013년 08월 23일 펴냄 (절판)
- 페이퍼백 | 448쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 모바일 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
모바일 애플리케이션과 위치 기반 서비스를 별개로 분리해 생각하기 어려운 세상이 됐다. 사용자가 있는 도시의 날씨를 보고, 가까운 영화관을 찾고, 다녀간 식당을 기록하는 모든 활동은 위치 기반 서비스와 관련이 있다. 이 책은 글로만 설명하는 데 그치지 않고 실질적인 예제를 통해 이해를 돕는다. 이 책에서 설명하는 5개의 예제 애플리케이션을 함께 만들어보면서 위치 기반 서비스 개발에 익숙해질 수 있다.
[ 이 책에서 다루는 내용 ]
■ 위치 기반 서비스의 개념과 실제 구현 방법
■ 포스퀘어 API를 사용해 포스퀘어 앱 작성
■ 코어 로케이션(Core Location)과 기타 위치 인식 기술
■ 맵킷(MapKit)과 OpenStreetMaps를 사용한 서드파티 지도 API
■ 글씨를 읽어주는 날씨 앱 작성
■ 증강현실과 이벤트킷(EventKit)으로 이벤트 앱 작성
■ AOL 패치 뉴스(Patch News) API로 위치 기반 뉴스 앱 작성
■ 소셜 거버넌스 앱 작성
[ 이 책의 대상 독자 ]
위치 인식과 증강현실을 정복하고 싶은 초보자나 전문 iOS 프로그래머에게 알맞은 책이다. 5가지 위치 기반 앱을 처음부터 만들어봄으로써 자연스레 실제 개발에 익숙해지게 의도했다.
[ 이 책의 구성 ]
1장, ‘위치 기반 세상’은 위치 기반 서비스가 무엇인지, 어떻게 동작하는지, 위치 서비스에서 GPS의 역할이 무엇인지 설명한다. 또한 애플이 iOS에서 위치 기반 서비스를 사용하는 방법도 배운다. 업계에서 사용하는 용어에 대해서도 알아본다.
2장, ‘엑스코드의 세상’은 엑스코드를 설명하고 폰갭(PhoneGap), 앱셀러레이터 타이타늄(Appcelerator Titanium), 센차터치(Sencha Touch)를 통해 HTML 5에 대해 알아본다. 또한 포스퀘어(Foursquare), 이벤트풀(Eventful), 라스트에프엠(Last.fm) 같은 위치 기반 API를 몇 가지 살펴본다.
3장, iOS 앱에 위치 사용: 코어 로케이션은 아이폰에서 사용자의 위치 정보를 읽는 기술을 몇 가지 설명한다. 이벤트가 발생했을 때 위치 정보 읽기, 앱에서 위치 갱신 자동으로 받기 등도 여기 포함된다. 또한 코어 로케이션 프레임워크를 사용해 지역 모니터링을 하는 방법을 배운다. 포스퀘어, 이벤트풀, 라스트에프엠을 사용하는 예제 앱을 제공한다.
4장, iOS 앱에 지도 사용: 맵킷에서는 맵킷(MapKit) 프레임워크를 앱에 사용하는 방법을 배운다. 지도 기하학에 대해서도 배우며, 지도상 애노테이션과 오버레이를 사용해보기도 한다.
5장, ‘날씨 앱: WeatherPackt’에서는 WeatherBug API를 사용해 날씨 앱을 만들어 본다. 앱에 설정 페이지를 넣어 화면을 커스터마이징하는 방법도 배운다. 보너스로 Nuance Speech SDK를 사용해 날씨를 읽어주게도 했다.
6장, ‘이벤트 앱: PacktEvents’에서는 Eventful.com API를 사용해 주변의 이벤트, 콘서트, 공연 정보를 표시하는 이벤트 앱을 만들어본다. 또한 iOS의 트위터 API를 사용하는 방법과 레이아 플레이어(Layar Player SDK)를 통한 증강현실도 맛보기 해본다.
7장, ‘고급 주제’는 백그라운드 위치를 포함한 백그라운드 서비스와 함께 방향 사용하기를 알려준다. iOS SDK의 모션 매니저(Motion Manager)와 푸시/로컬 알림에 대해서도 알아본다.
8장, ‘지역 검색: PacktLocal’은 포스퀘어 API를 사용해 지역 검색 앱을 만들고 지오 펜싱(geo-fencing) 지원을 넣는다.
9장, ‘지역 인식 뉴스: PacktNews’에서는 AOL의 패치 뉴스(Patch News) API를 사용해 지역에 초점을 맞춘 뉴스 앱을 만들어본다. iOS의 스토리보딩(Storyboarding) 기능을 애플리케이션에 사용하고, SQLite를 사용한 오프라인 콘텐츠를 지원한다.
10장, ‘소셜 거버넌스: TweetGovern’에서는 트위터를 백엔드로 사용한다. tweetgovern 앱이라 불리는 소셜 거버넌스 앱의 로직에 트위터와 해시 태그를 사용한다. 트위터의 리트윗(re-tweet) 컨셉에 대해서도 배운다.
[ 이 책에서 다루는 내용 ]
■ 위치 기반 서비스의 개념과 실제 구현 방법
■ 포스퀘어 API를 사용해 포스퀘어 앱 작성
■ 코어 로케이션(Core Location)과 기타 위치 인식 기술
■ 맵킷(MapKit)과 OpenStreetMaps를 사용한 서드파티 지도 API
■ 글씨를 읽어주는 날씨 앱 작성
■ 증강현실과 이벤트킷(EventKit)으로 이벤트 앱 작성
■ AOL 패치 뉴스(Patch News) API로 위치 기반 뉴스 앱 작성
■ 소셜 거버넌스 앱 작성
[ 이 책의 대상 독자 ]
위치 인식과 증강현실을 정복하고 싶은 초보자나 전문 iOS 프로그래머에게 알맞은 책이다. 5가지 위치 기반 앱을 처음부터 만들어봄으로써 자연스레 실제 개발에 익숙해지게 의도했다.
[ 이 책의 구성 ]
1장, ‘위치 기반 세상’은 위치 기반 서비스가 무엇인지, 어떻게 동작하는지, 위치 서비스에서 GPS의 역할이 무엇인지 설명한다. 또한 애플이 iOS에서 위치 기반 서비스를 사용하는 방법도 배운다. 업계에서 사용하는 용어에 대해서도 알아본다.
2장, ‘엑스코드의 세상’은 엑스코드를 설명하고 폰갭(PhoneGap), 앱셀러레이터 타이타늄(Appcelerator Titanium), 센차터치(Sencha Touch)를 통해 HTML 5에 대해 알아본다. 또한 포스퀘어(Foursquare), 이벤트풀(Eventful), 라스트에프엠(Last.fm) 같은 위치 기반 API를 몇 가지 살펴본다.
3장, iOS 앱에 위치 사용: 코어 로케이션은 아이폰에서 사용자의 위치 정보를 읽는 기술을 몇 가지 설명한다. 이벤트가 발생했을 때 위치 정보 읽기, 앱에서 위치 갱신 자동으로 받기 등도 여기 포함된다. 또한 코어 로케이션 프레임워크를 사용해 지역 모니터링을 하는 방법을 배운다. 포스퀘어, 이벤트풀, 라스트에프엠을 사용하는 예제 앱을 제공한다.
4장, iOS 앱에 지도 사용: 맵킷에서는 맵킷(MapKit) 프레임워크를 앱에 사용하는 방법을 배운다. 지도 기하학에 대해서도 배우며, 지도상 애노테이션과 오버레이를 사용해보기도 한다.
5장, ‘날씨 앱: WeatherPackt’에서는 WeatherBug API를 사용해 날씨 앱을 만들어 본다. 앱에 설정 페이지를 넣어 화면을 커스터마이징하는 방법도 배운다. 보너스로 Nuance Speech SDK를 사용해 날씨를 읽어주게도 했다.
6장, ‘이벤트 앱: PacktEvents’에서는 Eventful.com API를 사용해 주변의 이벤트, 콘서트, 공연 정보를 표시하는 이벤트 앱을 만들어본다. 또한 iOS의 트위터 API를 사용하는 방법과 레이아 플레이어(Layar Player SDK)를 통한 증강현실도 맛보기 해본다.
7장, ‘고급 주제’는 백그라운드 위치를 포함한 백그라운드 서비스와 함께 방향 사용하기를 알려준다. iOS SDK의 모션 매니저(Motion Manager)와 푸시/로컬 알림에 대해서도 알아본다.
8장, ‘지역 검색: PacktLocal’은 포스퀘어 API를 사용해 지역 검색 앱을 만들고 지오 펜싱(geo-fencing) 지원을 넣는다.
9장, ‘지역 인식 뉴스: PacktNews’에서는 AOL의 패치 뉴스(Patch News) API를 사용해 지역에 초점을 맞춘 뉴스 앱을 만들어본다. iOS의 스토리보딩(Storyboarding) 기능을 애플리케이션에 사용하고, SQLite를 사용한 오프라인 콘텐츠를 지원한다.
10장, ‘소셜 거버넌스: TweetGovern’에서는 트위터를 백엔드로 사용한다. tweetgovern 앱이라 불리는 소셜 거버넌스 앱의 로직에 트위터와 해시 태그를 사용한다. 트위터의 리트윗(re-tweet) 컨셉에 대해서도 배운다.
목차
목차
- 1 위치 기반 세상
- 위치 기반 서비스 이해
- 실습 예제 | 구글로 위치 기반 서비스 사용
- 위치 기반 업계에서 자주 사용하는 용어
- LBS 애플리케이션과 일반적인 사용 방법
- 군용
- 정부
- 상용
- 애플의 아이폰, 아이패드, 아이팟 디바이스로 LBS를 사용하는 방법
- iOS 위치 API
- 실습 예제 | 아이폰의 위치 추적 기능 끄기
- LBS: GPS의 동작 원리
- 사용자 부분
- 우주 부분
- 제어 부분
- 위치 서비스의 푸시와 풀 방식
- 푸시 서비스
- 풀 서비스
- GPS가 없는 경우: 와이파이 기반 위치 인식
- GPS가 없는 경우: 셀 ID 포지셔닝과 무선 기지국 삼각 측량
- 실습 예제 | 스카이후크 와이어리스 로키 프레임워크를 사용한 위치 인식
- GPS가 없는 경우: 구글 맵스 API
- 실내 내비게이션과 실외 내비게이션의 이해
- 정리
- 위치 기반 서비스 이해
- 2 엑스코드의 세상
- 엑스코드 소개
- 엑스코드 4: 필요 사항과 기능
- 필요 사항
- 기능
- iOS 5와 엑스코드 4.2: 새롭고 눈에 띄는 기능
- iOS 5의 새로운 기능
- 엑스코드 4.2의 새로운 기능
- 엑스코드 3에서 이전할 때 알아야 하는 점
- 실습 예제 | 설치
- 실습 예제 | 헬로우 로케이션
- 밤새 코딩하는 프로그래머를 위한 도구: HTML5
- 폰갭
- 실습 예제 | 폰갭으로 헬로우 로케이션 앱 개발
- 실습 예제 | 타이타늄 앱셀러레이터로 헬로우 로케이션 앱 개발
- 실습 예제 | 센차터치로 헬로우 로케이션 앱 개발
- 위치 기반 SDK/API
- 포스퀘어
- 고왈라
- 이벤트풀과 라스트에프엠 API: 음악 API
- 심플지오와 팩추얼
- 기타 주목할 만한 API: YQL, 로케이션 랩스
- 정리
- 3 iOS 앱에 위치 사용: 코어 로케이션
- 코어 로케이션 프레임워크의 개요
- 실습 예제 | 위치 디버깅
- 코어 로케이션 서비스
- 표준 위치
- 주요 변화
- 지역 모니터링
- 지오코딩과 역지오코딩: CLGeocoder
- 헤딩을 사용한 방향
- 코어 로케이션 관리자: CLLocationManager
- 실습 예제 | 사용 가능한 위치 서비스 체크
- 사용자 인증
- 실습 예제 | 코어 로케이션과 사용자 인증 사용
- CLLocation 객체
- 실습 예제 | 애플리케이션에서 위치 갱신
- 실습 예제 | 경계 모니터링과 위치 매니저
- 헬로우 로케이션으로 주변 이벤트 감지
- 시작하기 전에 알아야 할 중요 사항
- 실습 예제 | 헬로우 로케이션에 주변 이벤트 기능 추가
- 실습 예제 | 라스트에프엠 API
- 지역 검색을 위한 헬로우 로케이션 확장
- 시작하기 전에 알아야 할 점
- 실습 예제 | 포스퀘어로 지역 검색 앱 개발
- 정리
- 코어 로케이션 프레임워크의 개요
- 4 iOS 앱에 지도 사용: 맵킷
- 맵킷 프레임워크 개요
- 지도 기하학의 이해
- 실습 예제 | 맵킷 사용
- 실습 예제 | 지도 제스처(패닝, 주밍) 사용
- 지도에 애노테이션 추가: 개요
- 실습 예제 | 지도에 애노테이션 추가
- 실습 예제 | 드래그 가능한 애노테이션
- 실습 예제 | 커스텀 지도 애노테이션
- 지도 오버레이: 개요
- 실습 예제 | 지도 애노테이션 커스터마이징
- 사용자 추적 모드
- 보너스: 오프라인 지도
- 실습 예제 | 클라우드메이드 API로 OpenStreetMaps 사용
- 정리
- 5 날씨 앱: WeatherPackt
- SQLite로 사용자의 위치 데이터 추출과 저장
- 실습 예제 | SQLite로 사용자의 위치 추출과 저장
- 위치 데이터를 도시 이름으로 변환: 지오네임즈 API 사용
- 지오네임즈
- 실습 예제 | 위치 데이터를 도시 이름으로 변환
- 웨더버그 API 사용
- 시작하기 전에 알아둬야 할 사항
- 실습 예제 | 웨더버그 API 사용
- 날씨 앱 WeatherPackt 구현
- 새로운 엑스코드 프로젝트 시작
- 홈 스크린 정의
- 실습 예제 | 홈 스크린 정의
- 기본 위치 설정
- 화면 표시를 위한 날씨 API 서식화
- 설정 페이지
- 보너스: 폰갭으로 WeatherPackt 구현
- 보너스: 텍스트 음성 변환(TTS)
- 정리
- SQLite로 사용자의 위치 데이터 추출과 저장
- 6 이벤트 앱: PacktEvents
- PacktEvents: 개요와 구조
- PacktEvents의 구조
- SQLite로 이벤트 저장, 추출
- 실습 예제 | SQLite로 이벤트 저장과 추출
- 지도에 이벤트 표시
- 실습 예제 | 지도에 이벤트 표시
- 카테고리별로 이벤트 필터링
- 실습 예제 | 카테고리별로 이벤트 필터링
- 이벤트킷 프레임워크로 아이폰 캘린더에 이벤트 추가
- 실습 예제 | 아이폰 캘린더에 이벤트 추가
- 트위터 프레임워크 사용
- 실습 예제 | 아이폰 앱에 트위터 기능 추가
- 보너스: 증강현실을 위한 레이아 플레이어 API 사용
- 실습 예제 | 아이폰 앱에 증강현실 추가
- PacktEvents 앱 작성
- 정리
- PacktEvents: 개요와 구조
- 7 고급 주제
- 위치와 방향 사용
- 헤딩을 사용하는 방향
- 앱에 방향 사용
- 자기계를 사용하는 헤딩의 이해
- 실습 예제 | 앱에서 방향을 위해 헤딩 사용
- 코스를 사용하는 방향
- 실습 예제 | 앱에서 방향을 위해 코스 사용
- 헤딩을 사용하는 방향
- 코어 모션: 모션 매니저
- 코어 모션의 사용
- 실습 예제 | MotionManager:accelerometer 사용
- 코어 모션 결론
- 백그라운드 앱 실행
- 백그라운드에서 실행할 만한 앱
- 백그라운드 위치
- iOS 애플리케이션 라이프 사이클의 이해
- 푸시 알림: 개요
- 로컬 알림
- 실습 예제 | 로컬 알림 사용
- 정리
- 포스퀘어 장소 API 사용
- 장소 카테고리
- 실습 예제 | 포스퀘어 장소 API: 카테고리
- 추천, 인기 장소
- 실습 예제 | 추천 장소, 인기 장소
- 장소 검색
- 실습 예제 | 포스퀘어 검색 API
- 지역 검색 앱의 UI 작성: PacktLocal
- 장소 정보를 디바이스에 저장
- 앱 작성: PacktLocal
- 실습 예제 | 앱 작성: PacktLocal
- 정리
- 패치 뉴스 API의 이해: 지역에 초점을 맞춘 뉴스
- 인증
- 분류
- Vertical
- Format
- Author
- 위치로 스토리 찾기
- 이름으로 위치 찾기
- 실습 예제 | 패치 뉴스 API 사용
- 지오 펜싱 지원 추가
- 실습 예제 | 지오 펜싱 지원 추가
- PacktNews 앱 작성
- StoryBoard
- 실습 예제 | PacktNews 작성
- 정리
- 소셜 거버넌스의 개요
- TweetGovern을 자세히 알아보기
- Stackmob
- 사용할 방식: Twitter
- 아이콘과 이미지
- SDK와 프레임워크
- 실습 예제 | TweetGovern UI 작성
- 실습 예제 | 사용자 위치 인식과 근처 이슈 표시
- 실습 예제 | 이슈 투표 기능 추가
- 정리
도서 오류 신고
정오표
정오표
[2014-07-11]
P 69 11번 항목 중
호출되는 locationDetext 액션도 → 호출되는 locationDetect 액션도