內容簡介
《iPhone與iPad開發實戰》本書旨在以教程的形式講解如何使用本地iPhoneSDK進行iPhone/iPad開發。首先介紹了Objective-C、Xcode、InterfaceBuilder、視圖控制器、標準事件和動作模型等基礎知識,接著介紹了一些數據訪問方法與出色的硬體功能(加速計、GPS和羅盤),然後討論了媒體、音頻、圖形、網際網路等主題,最後通過實例展示了如何使用GameKit框架、推送通知、MapKit框架和StoreKit框架等。本書適合所有iPhone和iPad開發人員閱讀。
圖書目錄
第1章 iPhone與iPad簡介
1.1 歷史回顧
1.2 人人為我,我為人人:iPhoneOS平台
1.3 核心硬體規範
1.3.1 iPhone
1.3.2 iPad
1.3.3 iPodTouch
1.3.4 iPhone和iPad的輸入及輸出規範
1.3.5 iPhone和iPad網路規範
1.3.6 iPhoneOS瀏覽器規範
1.3.7 移動Web標準
1.3.8 其他硬體特性
1.4 iPhone和iPad的獨特之處
1.5 理解iPhone和iPad觸摸式互動
1.6 小結
第2章 Objective-C和iPhoneOSSDK
2.1 準備使用SDK
2.1.1 安裝SDK
2.1.2 SDK剖析
2.2 Objective-C介紹
2.2.1 概述
2.2.2 訊息
2.2.3 類定義
2.2.4 屬性
2.2.5 其他編譯器指令
2.2.6 類別和協定
2.2.7 Objective-C總結
2.3 iPhoneOS介紹
2.3.1 iPhoneOS剖析
2.3.2 iPhoneOS的對象層次結構
2.3.3 視窗和視圖
2.4 iPhoneOS的方法
2.4.1 對象創建
2.4.2 記憶體管理
2.4.3 事件回響
2.4.4 生命周期管理
2.5 小結
第3章 使用Xcode
3.1 Xcode簡介
3.1.1 剖析Xcode
3.1.2 在Xcode中編譯和執行
3.2 在Xcode中創建第一個iPhone項目:Hello,World!
3.2.1 理解main.m
3.2.2 理解應用程式委託
3.2.3 編寫“Hello,World!”
3.3 在Xcode中創建第一個iPad項目:Hello,World!
3.4 在Xcode中創新建類
3.4.1 新類簡介
3.4.2 頭檔案
3.4.3 原始碼檔案
3.4.4 鏈?
3.5 Xcode的其他功能
3.5.1 使用Xcode添加框架
3.5.2 在Xcode中使用其他模板
3.5.3 Xcode提示和技巧
3.6 小結
第4章 使用InterfaceBuilder
4.1 InterfaceBuilder介紹
4.1.1 InterfaceBuilder剖析
4.1.2 在InterfaceBuilder中模擬
4.2 在InterfaceBuilder中創建第一個項目:圖片和網頁
4.2.1 新建對象
4.2.2 操作圖形對象
4.2.3 使用檢查器視窗
4.2.4 使用圖片
4.3 在InterfaceBuilder中建立連線
4.3.1 聲明IBOutlet
4.3.2 連線對象
4.3.3 使用IBOutlet編寫代碼
4.4 其他InterfaceBuilder功能
4.4.1 建立其他連線
4.4.2 創建外部對象
4.4.3 初始化InterfaceBuilder對象
4.4.4 訪問.xib檔案
4.4.5 新建.xib檔案
4.5 小結
第5章 創建基本視圖控制器
5.1 視圖控制器家族
5.2 標準視圖控制器
5.2.1 視圖控制器剖析
5.2.2 創建視?控制器
5.2.3 創建另一個視圖控制器
5.2.4 構建視圖控制器界面
5.2.5 使用視圖控制器
5.3 表視圖控制器
5.3.1 剖析表視圖控制器
5.3.2 創建表視圖控制器
5.3.3 構建表界面
5.3.4 使用表視圖控制器
5.4 小結
第6章 監控事件和動作
6.1 事件簡介
6.1.1 回響者鏈
6.1.2 觸摸和事件
6.2 觸摸的例子:事件報告程式
6.2.1 在InterfaceBuilder中構建應用程式
6.2.2 為觸摸準備視圖
6.2.3 控制事件
6.3 其他事件功能
6.3.1 規則化事件
6.3.2 其他事件方法和屬性
6.4 動作簡介
6.4.1 uicontrol對象
6.4.2 控制項事件和動作
6.4.3 使用addTarget:action:forControlEvents:方法
6.5 向應用程式添加按鈕
6.5.1 使用addTarget:action:forControlEvents:與按鈕
6.5.2 使用IBAction與按鈕
6.6 其他動作功能
6.6.1 使用UITextField接受文本輸入
6.6.2 允許使用UISlider來選擇值
6.6.3 TextField/Slider組合
6.6.4 創建動作很容易
6.6.5 使用動作
6.7 通知簡介
6.8 小結
第7章 創建高級視圖控制器
7.1 標籤欄視圖控制器
7.1.1 剖析標籤欄視圖控制器
7.1.2 創建標籤欄控制器
7.1.3 構建標籤欄界面
7.1.4 使用標籤欄控制器
7.2 導航控制器
7.2.1 剖析導航控制器
7.2.2 創建導航控制器
7.2.3 完成導航控制器
7.2.4 使用導航控制器
7.3 使用翻轉控制器
7.4 分割視圖控制器
7.4.1 創建分割視圖控制器
7.4.2 構建分割視圖控制器
7.4.3 使用分割視圖控制器
7.4.4 為豎向模式和橫向模式調整界面
7.5 彈出式視圖控制器和模式視圖控制器
7.5.1 創建彈出式視圖控制器
7.5.2 創建模式視圖控制器
7.6 小結
第8章 數據:動作、首選項和檔案
8.1 接收用戶動作
8.2 管理用戶首選項
8.2.1 創建自己的首選項
8.2.2 使用系統設定
8.3 打開檔案
8.3.1 訪問軟體包
8.3.2 訪問其他目錄
8.3.3 操縱檔案
8.3.4 Filesaver:一個UITextView示例
8.4 小結
第9章 數據:高級技術
9.1 使用SQLite
9.1.1 設定SQLite資料庫
9.1.2 訪問SQLite
9.1.3 訪問SQLite資料庫
9.1.4 通過資料庫構建導航選單
9.1.5 本例的擴展
9.2 訪問地址簿
9.2.1 框架概述
9.2.2 訪問?址簿屬性
9.2.3 查詢地址簿
9.2.4 使用地址簿UI
9.3 CoreData簡介
9.3.1 關於CoreData的背景知識
9.3.2 在應用程式中設定CoreData
9.3.3 初始化CoreData對象
9.3.4 為資料庫添加對象
9.3.5 在CoreData中提取、更新和刪除對象
9.4 小結
第10章 定位:加速計、位置和羅盤
10.1 加速計和方向
10.1.1 orientation屬性
10.1.2 方向通知
10.2 加速計和移動
10.2.1 訪?UIAccelerometer
10.2.2 解析UIAcceleration
10.2.3 查看重力
10.2.4 查看移動
10.2.5 識別簡單的加速計移動
10.3 加速計和手勢
10.4 CoreLocation
10.4.1 位置類
10.4.2 使用位置和距離的示例
10.4.3 使用海拔的示例
10.4.4 使用羅盤
10.4.5 CoreLocation和網際網路
10.5 小結
第11章 媒體:圖像和照相機
11.1 圖像介紹
11.1.1 載入UIImage
11.1.2 繪製UIImageView
11.1.3 在UIKit中修改圖像
11.2 利用CoreGraphics繪製簡單圖像
11.3 訪問照片
11.3.1 使用圖像選取器
11.3.2 拍照
11.3.3 保存到相冊
11.4 拼合:一個圖像例子
11.4.1 拼合視圖控制器
11.4.2 拼合臨時圖像視圖
11.4.3 拼合視圖
11.4.4 擴展這個例子
11.5 小結
第12章 媒體:音頻和錄音
12.1 播放iPod庫中的音頻
12.1.1 從iPod媒體庫中檢索音頻條目
12.1.2 獲取MPMediaItem的信息
12.1.3 使用MPMusicPlayerController播放媒體條目
12.1.4 示例:創建一個簡單的媒體播放器應用程式
12.2 錄製音頻
12.2.1 初始化音頻錄音器
12.2.2 控制音頻錄音器
12.2.3 回響AVAudioRecorder事件
12.3 手動播放聲音
12.3.1 初始化AVAudioPlayer
12.3.2 AVAudioPlayerDelegate
12.3.3 控制AVAudioPlayer
12.4 示例:創建一個簡單的音頻錄製/播放應用程式
12.4.1?創建一個基於視圖的應用程式
12.4.2 添加所需的框架
12.4.3 構建IBAction
12.4.4 創建界面
12.4.5 設定音頻錄音器並實現IBAction操作
12.5 錄製、播放和訪問視頻
12.6 小結
第13章 圖形:Quartz、CoreAnimation和OpenGL
13.1 Quartz2D簡介
13.2 Quartz上下文
13.2.1 在UIView上繪製圖形
13.2.2 在點陣圖上繪製圖形
13.3 繪製路徑
13.3.1 結束路徑
13.3.2 創建可重用路徑
13.3.3 繪製矩形
13.4 設定圖形狀態
13.4.1 設定顏色
13.4.2 變換
13.4.3 設定裁剪路徑
13.4.4 其他設定
13.4.5 管理狀態
13.5 Quartz中的高級繪圖功能
13.5.1 繪製漸變
13.5.2 繪製圖像
13.5.3 繪製文字
13.5.4 未介紹的內容
13.6 示例:在圖片上繪圖
13.6.1 PhotoDraw視圖控制器
13.6.2 photodraw視圖
13.6.3 擴展示例
13.7 CoreAnimation簡介
13.7.1 CoreAnimation基礎
13.7.2 CoreAnimation入門
13.7.3 繪製簡單的隱式動畫
13.7.4 繪製簡單的顯式動畫
13.8 OpenGL簡介
13.9 小結
第14章 Web:Web視圖和網際網路協定
14.1 網際網路的層次結構
14.2 低層次聯網
14.3 使用URL
14.3.1 創建NSURL
14.3.2 構建NSURLRequest
14.3.3 手動操作HTML數據
14.4 使用UIWebView
14.4.1 調用Web視圖
14.4.2 管理Web視圖委託
14.4.3 縮略圖:一個Web視圖例子
14.5 解析XML
14.5.1 啟動NSXMLParser
14.5.2 充當委託
14.5.3 構建示例RSS閱讀器
14.5.4 海拔高度重讀:一個CoreLocation示例
14.6 提交給Web
14.6.1 手動提交
14.6.2 提交表單
14.7 訪問社交網路
14.7.1 使用Web協定
14.7.2 使用TouchJSON
14.8 小結
第15章 使用GameKit進行P2P連線
15.1 GameKit概述
15.2 使?對等點選取器創建P2P應用程式
15.2.1 使用蘋果公司的內置對等點選取器
15.2.2 實現GKSessionDelegate方法
15.2.3 在對等點之間傳送和接收數據
15.3 示例:創建一個多人桌球遊戲
15.3.1 啟動GKTennis項目
15.3.2 創建頭檔案
15.3.3 創建桌球遊戲界面
15.3.4 遊戲初始化
15.3.5 建立對等點選取器並進行連線
15.3.6 實現send和receive方法
15.3.7 遊戲循環
15.3.8 用戶互動
15.4 小結
第16章 推送通知服務
16.1 什麼是推送通知
16.2 蘋果公司的推送通知系統概述
16.3 準備在應用程式中使用推送通知服務
16.3.1 設定應用程式證書
16.3.2 建立供應配置檔案
16.3.3 處理推送通知的代碼
16.3.4 準備音頻檔案
16.4 使用PHP創建一個推送通知提供程式
16.4.1 創建SSL證書
16.4.2 實現PHP推送通知提供程式
16.5 小結
第17章 MapKit框架
17.1 MapKit概述
17.2 向應用程式添加地圖
17.2.1 使用InterfaceBuilder添加地圖
17.2.2 用編程方式添加地圖
17.2.3 控制地圖
17.3 翻譯地理編碼
17.4 標註地圖
17.4.1 添加基本地圖示注
17.4.2 添加自定義地圖示注
17.5 小結
第18章 使用StoreKit實現套用內購買
18.1 建立沙盒測試環境
18.1.1 創建iTunes測試用戶
18.1.2 添加產品
18.2 創建一個簡單的商店界面
18.3 小結
第19章 iPhoneSDK?強功能
19.1 自定義鍵盤附屬檔案
19.1.1 擴展UITextField
19.1.2 實現自定義UITextField
19.1.3 自定義鍵盤
19.2 繼續:iPhone4.0SDK
19.2.1 多任務
19.2.2 用戶體驗增強功能
19.2.3 多媒體框架增強功能
19.2.4 GameCenter
19.3 小結
附錄A iPhoneOS類參考
附錄B 外部資源和參考資料
附錄C 發布SDK程式
附錄D 針對iPad更新當前應用程式
部分章節
?一章 iPhone與iPad簡介
毫無疑問,蘋果公司通過iPhone~HiPad已經完全改變了移動計算的內涵。幾乎完全拋開實際按鈕操作且造型優美的觸控螢幕界面改變了我們與移動設備互動的方式。流暢優美並且動感十足的觸控螢幕幾乎可以展示所有我們能夠想到的二維界面。僅此一.項,恐怕就足以讓前幾代智慧型手機和上網本沉悶而又多年不變的界面無地自容了。但蘋果公司很有預見性,很早的時候就將iPhoneOS作為對(就像讀者這樣的)獨立開發者完全公開的平台,開發者可以利用iPhoneOS快速開發出數千種應用程式,讓客戶能夠定製和個性化其電話,將電話變?某種更優秀、更實用的東西,而不僅僅是多了一些拙劣構思、馬虎能用的附加應用程式的設備。iPhone已經成為可以隨身攜帶的一款個人電腦了。
iPad更像是iPod工ouch的加大版,而不是沒有電話功能的更大、更壯實的iPhone。iPad搶占了iPhone這種迷你掌機與更大尺寸的傳統筆記本之間的市場,同時還將月光瞄準了最近興起的電子書閱讀器。
1.1歷史回顧
2006年,關於蘋果公司下一個主要創新的傳聞和推測在網際網路上鬧得沸沸揚揚,傳說將是一種類似於iPod的手機,而且最終將被命名為iPhone。蘋果公司在21世紀的技術創新和一流的用戶設計,讓人們對傳說中的iPhone充滿了期待。因為它預示了整個手機行業的新前景以及可大膽改進技術的新方向。
2007年初,蘋果公司承認當時正在開發iPhone。蘋果公司提供的技術預覽已經揭示,iPhone確實是一款新穎且與眾不同的手機。人們的熱情和興奮達到了空前的高度。在發布當天,2007年6月29日,人們連夜聚集在蘋果商店門前。為成為擁有iPhone的第一批用戶,人們在那一整天內都排著長長的隊伍。……
盤點程式語言與程式設計書籍
程式語言(programming language),又稱程式設計語言(program design language,簡稱PDL),是一組用來定義電腦程式的語法規則。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的數據,並精確地定義在不同情況下所應當採取的行動 |