第1章 從認識你的手機開始
利用幾則小故事,讓讀者了解您手上的iPhone,並介紹在正式進入iPhone程式開發之前,讀者所需事前準備的工作事項。
第2章 語言的基礎
撰寫iPhone 應用程式的程式語言被稱之為 Objective C,其語法比較接近 C,如果可以對這C 語言有些基礎認識,再加上一些物件導向的基礎,那麼進入iPhone 開發的世界並不是件難事。本章將為讀者介紹Objective C的語法,相信可以很快地帶您進入 iPhone 的世界。
第3章 開發工具
Apple 把編寫程式的工作區分為程式開發與畫面設計兩項,其中XCode 就是用於程式碼的編寫,而Interface Builder 則是畫面設計的工具。在這一章節裏面,我們會開始介紹這些工具。
第4章 認識基本元件與機制
在本章內容裡,我們將先認識幾個UIKit Framework 內的基本而重要的類別,雖然這些類別都不是視覺化的元件,不過它們卻也是構成一個iPhone 應用程式最基本的類別。在本章的後半部,我們會認識在iPhone 應用程式設計中的幾個非常重要的機制,它們分別是代理機制、訊息通知機制以及 Target-Action機制。這三個機制在iPhone 應用程式設計中常會被使用到,尤其代理機制更幾乎在每一個 UI 類別裡面都可以看得到它的身影。
第5章 畫面元件
在本章節裡,我們即將開始進入 UIKit Framework 最精彩的部分。您將會看到iPhone 所提供的許許多多豐富的視覺化元件,包括按鈕(UIButton)、圖片(UIImageView)、開關(UISwitch) 等等,這些元件就構成了應用程式畫面上所出現的主要元素。
第 6 章 設計模式與畫面控制器
UIView 賦予iPhone 畫面, 而UIViewController( 畫面控制器) 則帶給了UIView 生命!剛開始學習iPhone 開發的人一定都會覺得畫面控制器像是個雞肋,反正把所有的事件處理工作全部丟給UIView 不就得了。你的確可以這麼做,但是這並不是個很好的習慣。另一方面由於iPhone 已經定制了許多種類的畫面控制器,並且預先幫你把畫面佈局都安排好了。所以它其實可以幫你完成很多瑣碎的工作,尤其在後續的幾個章節裏面您應該更能感受的出來。
第 7 章 資料存取
前面幾章談的大都是屬於畫面部分的呈現。不過,光是有美麗的畫面而沒有資料的呈現,那就像是海市蜃樓一樣。故在這一章裏面我們主要談的主題是怎麼讀取和儲存資料。
第 8 章 表格元件與 Core Data
人們總是希望在有限的空間內看到無限的內容。尤其以手機的畫面來說,要顯示大範圍面積的畫面,在以往的手機上是有些吃力,至少操作上就不是那麼便利了。iPhone 利用了它自身多重觸碰螢幕的優勢改變了遊戲規則,只要用一根手指就可以移到哪看到哪,也可以用兩根手指頭來個定點放大,這一切都得感謝UIScrollView 這個類別,有了它之後,我們的視野變大了。本章將介紹UITableView 這個重量級元件。
第 9 章 聯絡人資訊
表格元件可以說是iPhone 裏面最強大的幾個元件之一,為了讓表格元件有更多的靈活性,畫面與資料都是分開處理的。這麼做的好處在於,以MVC 的精神來說,畫面只是呈現資料的一種方式,如果兩者是可以分離的,那麼我們就可以採用不同的畫面來展現同樣的資料。而聯絡人資訊這個應用程式便是利用表格元件的最佳案例,本章即舉此案例進行說明。
第 10 章 相機與相簿
自 iPhone OS 3.0 之後,iPhone 的照相功能也得到很大的進展。其中最顯著的改變就是增加了攝影的功能。另外,由於新的 API 的加入,使得開發人員也可以動態處理照相機的觀景畫面以及自訂拍攝時的界面等等。在這個章節裡面,我們將由相簿的功能開始介紹,並帶領您進入攝影的世界。
第 11 章 影音多媒體
本章將開始介紹iPhone 的多媒體能力,包括聲音的錄音、播放以及影片的播放等等。透過這些強大的API,相信讀者們一定可以做出更具特色的多媒體播放程式!
第 12 章 定位與地圖
在本章的內容裡面,我們會談到iPhone 定位系統上所使用的框架庫,接下來還會介紹在iOS 3.0 以後才加入的地圖元件以及如何在地圖上標記的方式。
第 13 章 推播服務
在本章節的內容裡面,我們會先從整個推播的流程開始談起,您可能會發現原來推播的原理並不是想像中的那麼複雜。接著來,我們也會談到在手機端應用程式是如何向Apple 註冊以及取得訊息。最後,我們也會自己動手實作出一個可以將訊息推播到手機上的應用程式。
第 14 章 使用外界服務
在本章一開始的內容裡面,我們會先帶您認識在Apple 系列產品中都不可或缺的一項技術Bonjour,如果缺少了這項服務,相信使用Apple 的產品就不會如此輕鬆容易了,而這項技術也正是本章稍後會提到的Game Kit 框架庫的基礎。至於 Game Kit 框架庫,它原本是一套讓遊戲開發者可以在他們的遊戲內提供P2P連線以及語音交談的功能,但其實你也可以用來作為非遊戲開發上的用途。在最後的內容裡,本書也會告訴您如何透過iPhone 與外界伺服器上所提供的JSON格式的服務進行溝通的方式。
第 15 章 完善你的程式
不論您所開發的是單機版或是需要連線到外界伺服器的應用程式,您該思考的下一步就是把自己開發好的應用程式上架了。不過,在上架之前,您其實還有很多的準備工作要做,例如讓你的應用程式支援多國語系或是檢查記憶體洩漏等問題。在這一章節裡面,我們將一一談到這些問題。
第 16 章 程式上架流程
本章節的內容乃是以實際產品上架的過程來讓讀者們了解相關的流程以及可能遭遇的困難。
附錄A有用的資訊
提供與iPhone相關的Open Source資源,以及實用的網站介紹,方便讀者自行參考學習。