이미 소장하고 있다면 판매해 보세요.
|
1장 시작하기 전에
준비 사항 이 책에서 다루지 않는 내용 컴퓨터공학: 광활하고 다양한 세계 오브젝티브C가 힘든 이유 휴스턴, 문제가 생겼다 어떻게 풀어나갈 것인가 Beginning iPhone 3 Development: Exploring the iPhone SDK 이 책에서 다룰 내용 정말로 멋지고 별난 앱 만들기: 이렇게 가르치는 이유 전도하라 코딩의 기적을 전체적인 흐름 로드 맵: 엑스코드와 인터페이스 빌더 사용 첫 번째 프로젝트 준비하기 스크린캐스트 모르는 게 약이다 단계별 진행 계획 2장 출발! helloWorld002 - 내비게이션 기반 애플리케이션 helloWorld003 - 내비게이션 기반 앱 변경하기 3장 다음엔 뭐지? 앞으로의 진행 순서 4장 미리 보기: 코드 소개 5장 미리 보기: 버튼 & 라벨을 이용한 여러 가지 그래픽 6장 미리 보기: 여러 가지 그래픽을 사용한 뷰 전환 7장 미리 보기: 드래그, 회전, 확대와 축소 8장 미리 보기: 테이블 뷰, 내비게이션, 배열 9장 미리 보기: 맵 킷 아이폰과 아이패드 예제의 호환성 넓은 화면 마스터 디테일 아이패드의 사용자 인터페이스 플랫폼 판별 호환성 자세히 살펴보기 이제부터는 INDIO! 모델 뷰 컨트롤러 4장 코드 소개 004helloWorld: 이미지와 버튼 코드 파헤치기 Nib, Zib, Xib 메소드 5장 여러 가지 그래픽을 활용한 버튼과 라벨 helloWorld005: 뷰 기반 애플리케이션 사전 준비 프로젝트 생성 IBOutlet에 대한 이해 포인터 프로퍼티: 관리 & 통제 IBAction 추가 구현 파일 합성하기 연결 파일 소유자 & uiImageView 코드 파헤치기 IBOutlet과 IBAction 포인터에 대해 더 알아야 할 것들 6장에서 다룰 내용 6장 스위치 뷰 시작하기 전에 einSwitch001-윈도 기반 애플리케이션 사전 준비 'einSwitch01' 프로젝트 생성 UIViewController 서브 클래스 Ein1Controller 생성 헤더 파일과 구현 파일 확인 Ein2Controller 생성 이미지 포함여부 확인 Einstein2View.xib 저장 이미지 추가 아이콘 지정 AppViewDelegate 작성 SwitchView 작업 SwitchViewController와 AppDelegate SwitchViewController 헤더 파일 지연 로드 준비 주석과 지연 로드 SwitchViewController.txt 내용 복사 기본 제공되는 구현 파일 내용에 대해 .xib 파일 작업 파일 소유자 선택 화면에 뷰 추가 Einstein#View.xib 파일 작업 두 번째 사진 einSwitch002-탭 바 애플리케이션 einSwitch003-윈도우 기반 애플리케이션 머릿속 파헤치기 7장 드래그, 회전, 확대와 축소 DragRotateAndScale - 뷰 기반 애플리케이션 사전 준비 DragRotateAndScale 앱 시작 커스텀 이미지 뷰 클래스 생성 - initWithImage: 메소드 오버라이드 터치 핸들러 스텁 touchesMoved 구현 TransformView 사용 TransformView 생성 TransformView 회전과 확대/축소 헬퍼 메소드 -touchesBegan 메소드 추가 -touchesMoved 메소드 수정 코드 파헤치기 제스처와 아이패드 8장 테이블 뷰, 내비게이션, 배열 진행 방식에 대해 테이블 뷰와 내비게이션 스택 앱스토어 모델을 따른 Food 앱 예제 Food 앱 시작하기 카테고리명 배열 추가 카테고리명 배열 생성 테이블 뷰 데이터 소스 메소드 구현 테이블 뷰 델리게이션 FoodTableViewController 설정 FoodTableViewController용 간편 생성자 FoodTableViewController의 데이터 소스와 델리게이션 FoodViewController 클래스 생성 FoodViewController 헤더 파일 FoodViewController 간편 생성자 -viewDidLoad 메소드와 .xib 파일 작업 아이콘 파일 테스트 코드 파헤치기 메모리 관리 재사용 식별자 9장 맵 킷 프레임워크에 대한 몇 가지 사실 알아야 할 중요 사항 기본으로 제공되는 맵 킷 기능 위치 인식 길 안내 방향 인식 교통량 장소 검색 뷰 전환 참고할 만한 멋진 맵 킷 앱들 MapKit01: 뷰 기반 애플리케이션 준비 작업 사전 준비 새로운 뷰 기반 템플릿 어노테이션용 파일 추가 이미 동작하고 있다! 시뮬레이터 확인 약간 더 꾸며보자 구현하기 myPos.h 파일 myPos.m 파일 AppDelegate 파일 맵 뷰와 MKMapView 연결 맵 킷 실전 사례 파헤치기 맵 킷으로 네트워크 데이터 읽어오기 맵 킷 파싱 맵 킷을 사용한 최종 프로젝트 이제는 큰 그림을 봐야 할 때 |
|
이 책의 역할
이거 하나는 분명히 해두자. 여러분은 아이폰 앱 개발을 배우고 싶으며, 스스로 꽤나 머리가 좋다고 생각한다. 그러나 막상 실제 코드나 너무 전문적인 내용을 마주치면 머릿속이 하얘진다. 장황하게 늘어놓는 설명을 보면 눈 앞이 흐려지는가? 혹시 머릿속에 이런 목소리가 들리지는 않는지? "놀라워! 네 머리는 이미 여섯 줄 전에 멈췄어. 근데도 바보가 아닌 척 페이지를 계속 넘기고 있군. 훌륭해!" 이런 상황은 어떤지 생각해보자. 여러분은 지금 아주 전문적인 문제에 어려움을 겪고 있다. 그래서 답을 찾으려 구글 검색을 시도한다. 가장 첫 결과를 열어보니 누군가 똑같은 문제에 대해 질문을 해 놓았다. 답이 있을 거라는 기대감에 살펴보지만, 이런, 여기는 그냥 게시판(말하자면 이해하기 힘든 코드를 가지고 서로 논쟁을 벌이는 전문가들만의 공간이랄까)일 뿐이었다. 계속 읽어 내려 가지만… 이미 늦었다. 머릿속은 벌써 백짓장처럼 하얗고, 긴장을 한 탓인지 실망을 한 탓인지 배가 살살 아파온다. 공감되나? 된다고? 그렇다면 바로 이 책이 정답이다! 추측컨대 여러분은 아마 지금 서점이나 공항에서 뭔가 재밌는 걸 찾기 위해 잡지 가판대를 뒤적이고 있을 것이다. 그런 장소에서 시간을 들여 잡지를 뒤적인다는 말은 여러분이 아이폰이나 맥, 혹은 자동차, 비행기 표 등을 살 수 있는 경제적인 여유가 있다는 의미다. 아마도 새로운 모바일 산업 분야나, 메모리와 마이크로프로세서가 만들어내는 수익성에 관심을 가지고 있을 것이다. 여기서 말하는 수익성이란, 어떤 아이디어를 얼마나 빨리 새로운 플랫폼이나 소프트웨어, 혹은 유용한 툴이나 독창적인 게임으로… 아무리 장황하게 이야기해도 결국엔 돈으로 바꿀 수 있는가를 말한다! 그리고 지금 자신도 이 영역에서 한몫 잡을 수 있을까를 궁금해 하고 있다. 자신이 가진 전문지식을 활용한다면 가능하다고 믿고 있을 것이다. 어떻게 알았냐고? 쉽다! 수년간 학생들에게 프로그래밍을 가르치다 보니, 아직도 이 책을 놓지 않고 있다면 여러분은 프로그래밍, 특히 아이폰과 같은 매혹적이고 멋진 기기용 프로그래밍 무대로 충분히 올라설 수 있을 만한 지능의 소유자라는 사실을 알 수 있다. 위에 예를 들었던 상황이 자신과 동일하거나 혹은 공감이 간다면, 그럼 난 여러분에 대해 알고 있는 게 맞다. 우리는 서로 오래 전부터 알고 지낸 사이나 마찬가지다. 여러분은 분명히 머리가 좋지만 복잡한 코드만 보면 정신 발작이 일어날 정도다. 프로그래밍 경험이 있는데도 말이다. 또한 자신이 설령 다양한 프로그래밍 언어를 아주 많이 경험해 봤다 하더라도, 아이폰 프로그래밍을 배울 땐 제발 구질구질한 내용 없이 단순하게 요점만 배웠으면 좋겠다고 생각한다. 걱정 말라! 여러분이 보통 어떤 심리적 압박을 받든지 간에, 혹은 어떤 기술적 장애(실제건 머릿속에서건)를 겪게 되든지 간에 이 모든 어려움을 전부 헤쳐나갈 수 있게 인도해주겠다. 내가 가르치는 방법들은 이미 수많은 학생을 통해 검증됐기 때문에 여러분에게도 효과가 있을 것이다. 방법은 간단하다 모든 것을 아주 상세하게 설명하려 하지는 않겠다. 나 역시 지금 여러분은 예제 코드는커녕 아이폰 애플리케이션의 '애'자도 모르는 상태라고 가정한다. 내가 하는 일은 단지 단계적으로 핵심이 되는 작업만 마칠 수 있도록 안내하는 것이다. 내 접근법은 이해하기도 쉬운 동시에 천천히 진행되며, 학생들이나 관심 있게 배우려는 사람들에게 폭넓은 범위의 지식과 기술을 전수할 수 있다고 자부한다. 기본적으로 여러분이 할 수 있는 속도에 맞춰서 스스로 단순 혹은 복잡한 아이폰 앱을 만들고 앱스토어에 올려서 판매할 수 있게 이끌겠다. 좋은 소식은, 앱스토어에서 다운로드가 많이 된 앱들은 그리 복잡한 앱이 아니라는 사실이다. 가장 인기 있는 앱들은 단순하면서도 생활에 밀접하게 관련있는 도구들로, 예를 들면 주차장을 찾는다거나, 쇼핑 목록을 쉽게 작성할 수 있게 해주는 앱, 혹은 운동 일지를 관리하는 앱 등이다. 그러나 이 책을 마치고 나면 아마도 다른 책에 도전하고 싶을 것이다. 여기에는 몇 가지 선택할 수 있는 옵션이 있고, 앞으로 여러분이 어떤 진로를 원하게 될지에 관해 조언할 테니 귀 기울이길. 그러나 지금 당장은 우선 나에 대해 알고 싶을 것이다. 그래야 이 재미있는 앱 여행의 가이드로 나를 고용할 마음에 확신이 들 테니까. 앞으로 아이폰 프로그래밍을 하는 데 있어 엄청난 즐거움과 성공이 함께 하길 바란다. 피스!---저자 서문 중에서 아이패드가 처음 나왔을 때는 솔직히 좀 시큰둥했다. 단지 화면만 조금 더 키운 아이폰과 다를 바 없어 보였다. 그도 그럴 것이 당시에는 아이패드 전용 앱이 그리 많지 않아서 단순히 아이폰용 앱을 2배 확대 모드로 보는 경우가 많았기 때문이다. 그러나 직접 사용해 보면서 첫인상은 완전히 뒤바뀌었다. 실내 휴대성과 넓은 화면은 아이패드의 최대 장점이자 존재 이유 그 자체나 다름없었다. 요즘 나는 심심할 때면 침대에 누워 심슨 가족을 보고, 소파에 앉아 티비를 보며 간간히 웹 서핑과 트위터를 즐긴다. 심지어 화장실에서는 아이패드로 구글 리더의 RSS 피드에 간단히 별표시를 해두기도 한다. 집안의 어느 곳에서든 어떤 자세로든 그리고 원한다면 언제든지 네트워크와 미디어에 연결될 수 있다. 덕분에 노트북을 사용하기 위해 책상 앞에 앉는 시간은 반 이상 줄었다. 한마디로 아이폰이 밖으로 들고 다니기 좋은 원거리 휴대용 디바이스라면, 아이패드는 실내에서는 가히 독보적인 근거리 휴대용 디바이스인 것이다. 스마트폰과 노트북의 중간 위치에 있는 아이패드는 그 활용성이 무궁무진하다. 식당이나 카페에서 메뉴판으로 사용할 수도 있고 병원에서는 진료 기록 차트로 사용될 수도 있다. 학교에서는 두꺼운 교재나 참고서 대신 아이패드 하나만 들고 다니며 필기를 할 수도 있으며, 회사에서는 보고서나 각종 서류 대신 사용될 수도 있다. 심지어 최근에는 영화 촬영장에서 슬레이트 대신 사용됐다고도 하니 정말 약간의 아이디어만 있어도 그 모습과 용도를 바꿀 수 있는 천의 얼굴을 가진 아이패드다. 이제 아이패드 국내 출시도 얼마 안 남았다(여러분이 이 책을 읽고 있는 시점에는 어쩌면 이미 출시됐을지도 모른다). 아이폰이 그랬듯 아이패드 또한 국내 출시와 함께 더욱 뜨거운 관심을 받게 될 것이다. 앞서 말했지만 국내에는 아직 아이패드 전용 앱이 그리 많지 않다. 이것은 기회다. 이 책을 읽는 여러분은 지금 아마 이런 가능성을 느끼고 시작해보려는 단계일 가능성이 크다. 이 책은 이전에 아이폰용 앱을 개발해 본 경험, 혹은 프로그래밍 경험이 있건 없건 간에 아이폰/아이패드 앱 개발의 첫걸음을 떼는 데 가장 적합한 책이다. 끝으로 이제는 당당한 아이폰 유저로서 젊은 세대들 못지않게 폭풍 간지 뽐내시는 사랑하는 나의 부모님, 맥북 흰둥이를 선물해 줬더니 만화방에 들고 가서 음악 재생시켜 놓고 만화책보는 용도로 사용하던 늦깎이 맥 유저 내 동생, 느릿느릿한 번역 속도에도 참고 기다려 주신 권성준 사장님, 김희정 부사장님 이하 에이콘 출판사 관계자분들, 언어노동에 지쳐있는 내게 온몸으로 웃음을 선사하는 삶의 청량제 호머 심슨, 그리고 나에게 스프링필드 마을을 소개시켜준 이 세상 둘도 없는 소중한 친구 MJ에게 모두 감사드린다. Cow-A-Bunga! ---옮긴이의 말 중에서 |
|
컴퓨터 지식이 많지 않아도, 프로그래밍에 능하지 않아도, 오브젝티브C나 맥 프로그래밍은 전혀 몰라도, 저자의 쉽고 재미있는 설명을 따라 하기만 하면 누구나 아이폰&아이패드 애플리케이션을 만들 수 있는 새로운 강의법을 소개한 신개념 아이폰 입문서. 출간되자마자 독자들의 뜨거운 호평을 받으며 아마존닷컴 베스트셀러로 등극한 화제의 책. 이제는 즐겁게 공부하자!
지금 이 순간 아이폰과 아이패드는 누구나 원하는 인기 절정의 디바이스다. 아이폰과 아이패드가 이렇게 인기 있는 이유 중 하나는 아이튠즈 앱스토어에 준비된 다양하고 멋진 앱들 때문이다. 자, 여러분도 자신만의 앱을 만들어서 앱스토어에 올려보는 건 어떨까? 완벽한 아이폰/아이패드 앱을 마음속에 그려보지만 자신이 직접 만들어 볼 생각은 한 번도 해보지 못했다면, 바로 이 책을 펴고 당장 시작해보자! 컴퓨터에 관한 약간의 지식과 적당한 노력만으로도 누구나 간단한 아이폰/아이패드 앱을 만들 수 있으며, 바로 이 책이 그 방법을 알려줄 길잡이다. 로리 루이스는 자신만의 첫 애플리케이션을 만들고 실행하는 데 필요한 지식을 차근차근 알려준다. 또한 아이폰/아이패드 개발을 둘러싼 잘못된 진실과 쉽사리 알 수 없는 전문 용어들을 알기 쉽게 설명한다. 최대한 쉽고 단순하게 단계적으로 구성돼 있으며, 다양한 실행 화면 스크린샷과 그림, 실용적인 예제, 여러분이 직접 따라 해볼 수 있는 온라인 강의 동영상도 함께 제공한다. 아이폰은 오늘날 가장 뜨거운 관심을 받는 디바이스다. 그리고 아이패드의 등장은 세간의 화제를 또 한 번 뜨겁게 달구고 있다. 아이패드의 더욱 크고 강력해진 멀티 터치 화면은 아이폰에서 입증된 혁신적인 디자인과 기능을 더욱 발전시키고, 사용자들은 덕분에 더욱 자연스럽고 분명하게 자신만의 창조성을 발휘할 수 있는 위치에 올랐다. 이 책은 누구나 쉽게 이해할 수 있는 언어로 아이폰과 아이패드 애플리케이션 개발의 기초를 다져줄 것이다. 특히 아이디어 넘치는 공상가들에게는 더할 나위 없이 좋은 선택이라 자부한다. ★ 이 책에서 다루는 내용 ★ ■ 아이폰/아이패드 앱 개발 환경 준비 ■ 직접 앱을 새로 만들어보기에 앞서 기존 앱을 수정하고 살펴보기 ■ 재미있고 쉽게 조작할 수 있는 애플리케이션 스타일링 ■ 멀티터치 화면, 가속도계 등 아이폰/아이패드만의 혁신 기능 활용 ■ 강력한 기능의 앱을 쉽게 만들 수 있는 간단한 방법 |