아이폰 위치 기반 애플리케이션 개발
『아이폰 위치 기반 애플리케이션 개발』은 iOS를 사용한 위치 기반 기술과 일반적인 위치와 매핑 문제의 해결책을 제시한 책이다. 간단한 위치 사용법부터 사용자의 마지막 위치 저장, 간단한 구글 맵의 사용부터 OpenStreetMaps를 사용하는 방법을 알려준다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
모바일 애플리케이션과 위치 기반 서비스를 별개로 분리해 생각하기 어려운 세상이 됐다. 사용자가 있는 도시의 날씨를 보고, 가까운 영화관을 찾고, 다녀간 식당을 기록하는 모든 활동은 위치 기반 서비스와 관련이 있다. 이 책은 글로만 설명하는 데 그치지 않고 실질적인 예제를 통해 이해를 돕는다. 이 책에서 설명하는 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) 컨셉에 대해서도 배운다.
목차
목차
___위치 기반 서비스 이해
______실습 예제 | 구글로 위치 기반 서비스 사용
___위치 기반 업계에서 자주 사용하는 용어
___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)
___정리
6 이벤트 앱: PacktEvents
___PacktEvents: 개요와 구조
______PacktEvents의 구조
___SQLite로 이벤트 저장, 추출
______실습 예제 | SQLite로 이벤트 저장과 추출
___지도에 이벤트 표시
______실습 예제 | 지도에 이벤트 표시
___카테고리별로 이벤트 필터링
______실습 예제 | 카테고리별로 이벤트 필터링
___이벤트킷 프레임워크로 아이폰 캘린더에 이벤트 추가
______실습 예제 | 아이폰 캘린더에 이벤트 추가
___트위터 프레임워크 사용
______실습 예제 | 아이폰 앱에 트위터 기능 추가
___보너스: 증강현실을 위한 레이아 플레이어 API 사용
______실습 예제 | 아이폰 앱에 증강현실 추가
___PacktEvents 앱 작성
___정리
7 고급 주제
위치와 방향 사용
______헤딩을 사용하는 방향
____________앱에 방향 사용
____________자기계를 사용하는 헤딩의 이해
______실습 예제 | 앱에서 방향을 위해 헤딩 사용
______코스를 사용하는 방향
______실습 예제 | 앱에서 방향을 위해 코스 사용
___코어 모션: 모션 매니저
______코어 모션의 사용
______실습 예제 | MotionManager:accelerometer 사용
____________코어 모션 결론
___백그라운드 앱 실행
______백그라운드에서 실행할 만한 앱
______백그라운드 위치
____________iOS 애플리케이션 라이프 사이클의 이해
______푸시 알림: 개요
______로컬 알림
______실습 예제 | 로컬 알림 사용
___정리
8 지역 검색: PacktLocal
___포스퀘어 장소 API 사용
______장소 카테고리
______실습 예제 | 포스퀘어 장소 API: 카테고리
___추천, 인기 장소
______실습 예제 | 추천 장소, 인기 장소
___장소 검색
______실습 예제 | 포스퀘어 검색 API
___지역 검색 앱의 UI 작성: PacktLocal
___장소 정보를 디바이스에 저장
___앱 작성: PacktLocal
______실습 예제 | 앱 작성: PacktLocal
___정리
9 지역 인식 뉴스: PacktNews
___패치 뉴스 API의 이해: 지역에 초점을 맞춘 뉴스
______인증
______분류
____________Vertical
____________Format
____________Author
______위치로 스토리 찾기
______이름으로 위치 찾기
______실습 예제 | 패치 뉴스 API 사용
______지오 펜싱 지원 추가
______실습 예제 | 지오 펜싱 지원 추가
___PacktNews 앱 작성
______StoryBoard
______실습 예제 | PacktNews 작성
___정리
10 소셜 거버넌스: TweetGovern
___소셜 거버넌스의 개요
___TweetGovern을 자세히 알아보기
______Stackmob
______사용할 방식: Twitter
______아이콘과 이미지
______SDK와 프레임워크
______실습 예제 | TweetGovern UI 작성
______실습 예제 | 사용자 위치 인식과 근처 이슈 표시
______실습 예제 | 이슈 투표 기능 추가
___정리
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

