第1章 iPhone與iPad簡介 1
1.1 曆史迴顧 1
1.2 人人為我,我為人人:iPhone OS平颱 2
1.3 核心硬件規範 2
1.3.1 iPhone 2
1.3.2 iPad 3
1.3.3 iPod Touch 4
1.3.4 iPhone和iPad的輸入及輸齣規範 4
1.3.5 iPhone和iPad網絡規範 5
1.3.6 iPhone OS瀏覽器規範 6
1.3.7 移動Web標準 7
1.3.8 其他硬件特性 7
1.4 iPhone和iPad的獨特之處 8
1.5 理解iPhone和iPad觸摸式交互 9
1.6 小結 10
第2章 Objective-C和iPhone OS SDK 11
2.1 準備使用SDK 11
2.1.1 安裝SDK 11
2.1.2 SDK剖析 13
2.2 Objective-C介紹 14
2.2.1 概述 14
2.2.2 消息 15
2.2.3 類定義 17
2.2.4 屬性 18
2.2.5 其他編譯器指令 20
2.2.6 類彆和協議 20
2.2.7 Objective-C總結 21
2.3 iPhone OS介紹 22
2.3.1 iPhone OS剖析 22
2.3.2 iPhone OS的對象層次結構 23
2.3.3 窗口和視圖 24
2.4 iPhone OS的方法 25
2.4.1 對象創建 25
2.4.2 內存管理 27
2.4.3 事件響應 28
2.4.4 生命周期管理 29
2.5 小結 30
第3章 使用Xcode 31
3.1 Xcode簡介 31
3.1.1 剖析Xcode 31
3.1.2 在Xcode中編譯和執行 33
3.2 在Xcode中創建第一個iPhone項目:Hello, World! 33
3.2.1 理解main.m 33
3.2.2 理解應用程序委托 34
3.2.3 編寫“Hello, World!” 36
3.3 在Xcode中創建第一個iPad項目:
Hello, World! 38
3.4 在Xcode中創新建類 39
3.4.1 新類簡介 39
3.4.2 頭文件 39
3.4.3 源代碼文件 40
3.4.4 鏈接 42
3.5 Xcode的其他功能 42
3.5.1 使用Xcode添加框架 42
3.5.2 在Xcode中使用其他模闆 42
3.5.3 Xcode提示和技巧 43
3.6 小結 44
第4章 使用Interface Builder 45
4.1 Interface Builder介紹 45
4.1.1 Interface Builder剖析 46
4.1.2 在Interface Builder中模擬 48
4.2 在Interface Builder中創建第一個項目:圖片和網頁 48
4.2.1 新建對象 48
4.2.2 操作圖形對象 49
4.2.3 使用檢查器窗口 49
4.2.4 使用圖片 51
4.3 在Interface Builder中建立連接 52
4.3.1 聲明IBOutlet 52
4.3.2 連接對象 53
4.3.3 使用IBOutlet編寫代碼 54
4.4 其他Interface Builder功能 55
4.4.1 建立其他連接 55
4.4.2 創建外部對象 55
4.4.3 初始化Interface Builder對象 56
4.4.4 訪問.xib文件 56
4.4.5 新建.xib文件 57
4.5 小結 57
第5章 創建基本視圖控製器 58
5.1 視圖控製器傢族 58
5.2 標準視圖控製器 59
5.2.1 視圖控製器剖析 60
5.2.2 創建視圖控製器 60
5.2.3 創建另一個視圖控製器 60
5.2.4 構建視圖控製器界麵 61
5.2.5 使用視圖控製器 62
5.3 錶視圖控製器 66
5.3.1 剖析錶視圖控製器 66
5.3.2 創建錶視圖控製器 66
5.3.3 構建錶界麵 67
5.3.4 使用錶視圖控製器 72
5.4 小結 73
第6章 監控事件和動作 74
6.1 事件簡介 74
6.1.1 響應者鏈 74
6.1.2 觸摸和事件 76
6.2 觸摸的例子:事件報告程序 77
6.2.1 在Interface Builder中構建應用
程序 78
6.2.2 為觸摸準備視圖 79
6.2.3 控製事件 80
6.3 其他事件功能 82
6.3.1 規則化事件 82
6.3.2 其他事件方法和屬性 83
6.4 動作簡介 84
6.4.1 UIControl對象 84
6.4.2 控件事件和動作 84
6.4.3 使用addTarget:action:
forControlEvents:方法 86
6.5 嚮應用程序添加按鈕 86
6.5.1 使用addTarget:action:
forControlEvents:與按鈕 87
6.5.2 使用IBAction與按鈕 87
6.6 其他動作功能 88
6.6.1 使用UITextField接受文本輸入 88
6.6.2 允許使用UISlider來選擇值 90
6.6.3 TextField/Slider組閤 90
6.6.4 創建動作很容易 92
6.6.5 使用動作 92
6.7 通知簡介 92
6.8 小結 93
第7章 創建高級視圖控製器 94
7.1 標簽欄視圖控製器 94
7.1.1 剖析標簽欄視圖控製器 94
7.1.2 創建標簽欄控製器 95
7.1.3 構建標簽欄界麵 97
7.1.4 使用標簽欄控製器 100
7.2 導航控製器 101
7.2.1 剖析導航控製器 101
7.2.2 創建導航控製器 102
7.2.3 完成導航控製器 102
7.2.4 使用導航控製器 106
7.3 使用翻轉控製器 108
7.4 分割視圖控製器 110
7.4.1 創建分割視圖控製器 110
7.4.2 構建分割視圖控製器 112
7.4.3 使用分割視圖控製器 115
7.4.4 為竪嚮模式和橫嚮模式調整
界麵 116
7.5 彈齣式視圖控製器和模式視圖控製器 116
7.5.1 創建彈齣式視圖控製器 117
7.5.2 創建模式視圖控製器 117
7.6 小結 118
第8章 數據:動作、首選項和文件 119
8.1 接收用戶動作 119
8.2 管理用戶首選項 120
8.2.1 創建自己的首選項 121
8.2.2 使用係統設置 125
8.3 打開文件 129
8.3.1 訪問軟件包 130
8.3.2 訪問其他目錄 131
8.3.3 操縱文件 131
8.3.4 Filesaver:一個UITextView示例 132
8.4 小結 135
第9章 數據:高級技術 136
9.1 使用SQLite 136
9.1.1 設置SQLite數據庫 137
9.1.2 訪問SQLite 138
9.1.3 訪問SQLite數據庫 138
9.1.4 通過數據庫構建導航菜單 139
9.1.5 本例的擴展 145
9.2 訪問地址簿 145
9.2.1 框架概述 145
9.2.2 訪問地址簿屬性 146
9.2.3 查詢地址簿 147
9.2.4 使用地址簿UI 149
9.3 Core Data簡介 153
9.3.1 關於Core Data的背景知識 153
9.3.2 在應用程序中設置Core Data 154
9.3.3 初始化Core Data對象 155
9.3.4 為數據庫添加對象 158
9.3.5 在Core Data中提取、更新和刪
除對象 158
9.4 小結 160
第10章 定位:加速計、位置和羅盤 161
10.1 加速計和方嚮 161
10.1.1 orientation屬性 161
10.1.2 方嚮通知 162
10.2 加速計和移動 162
10.2.1 訪問UIAccelerometer 163
10.2.2 解析UIAcceleration 163
10.2.3 查看重力 164
10.2.4 查看移動 166
10.2.5 識彆簡單的加速計移動 166
10.3 加速計和手勢 168
10.4 Core Location 170
10.4.1 位置類 171
10.4.2 使用位置和距離的示例 172
10.4.3 使用海拔的示例 174
10.4.4 使用羅盤 177
10.4.5 Core Location和互聯網 178
10.5 小結 178
第11章 媒體:圖像和照相機 179
11.1 圖像介紹 179
11.1.1 加載UIImage 180
11.1.2 繪製UIImageView 180
11.1.3 在UIKit中修改圖像 181
11.2 利用Core Graphics繪製簡單圖像 182
11.3 訪問照片 183
11.3.1 使用圖像選取器 183
11.3.2 拍照 184
11.3.3 保存到相冊 185
11.4 拼閤:一個圖像例子 185
11.4.1 拼閤視圖控製器 185
11.4.2 拼閤臨時圖像視圖 189
11.4.3 拼閤視圖 190
11.4.4 擴展這個例子 191
11.5 小結 191
第12章 媒體:音頻和錄音 192
12.1 播放iPod庫中的音頻 192
12.1.1 從iPod媒體庫中檢索音頻
條目 192
12.1.2 獲取MPMediaItem的信息 194
12.1.3 使用MPMusicPlayerController播放媒體條目 194
12.1.4 示例:創建一個簡單的媒體
播放器應用程序 196
12.2 錄製音頻 198
12.2.1 初始化音頻錄音器 198
12.2.2 控製音頻錄音器 199
12.2.3 響應AVAudioRecorder事件 200
12.3 手動播放聲音 201
12.3.1 初始化AVAudio Player 201
12.3.2 AVAudioPlayer Delegate 202
12.3.3 控製AVAudioPlayer 202
12.4 示例:創建一個簡單的音頻
錄製/播放應用程序 203
12.4.1 創建一個基於視圖的應用
程序 204
12.4.2 添加所需的框架 204
12.4.3 構建IBAction 204
12.4.4 創建界麵 204
12.4.5 設置音頻錄音器並實現
IBAction操作 205
12.5 錄製、播放和訪問視頻 206
12.6 小結 207
第13章 圖形:Quartz、Core Animation
和OpenGL 209
13.1 Quartz 2D簡介 209
13.2 Quartz上下文 210
13.2.1 在UIView上繪製圖形 211
13.2.2 在位圖上繪製圖形 212
13.3 繪製路徑 213
13.3.1 結束路徑 214
13.3.2 創建可重用路徑 214
13.3.3 繪製矩形 215
13.4 設置圖形狀態 216
13.4.1 設置顔色 216
13.4.2 變換 217
13.4.3 設置裁剪路徑 219
13.4.4 其他設置 220
13.4.5 管理狀態 220
13.5 Quartz中的高級繪圖功能 220
13.5.1 繪製漸變 221
13.5.2 繪製圖像 222
13.5.3 繪製文字 223
13.5.4 未介紹的內容 224
13.6 示例:在圖片上繪圖 224
13.6.1 PhotoDraw視圖控製器 225
13.6.2 photodraw視圖 226
13.6.3 擴展示例 228
13.7 Core Animation簡介 229
13.7.1 Core Animation基礎 230
13.7.2 Core Animation入門 230
13.7.3 繪製簡單的隱式動畫 230
13.7.4 繪製簡單的顯式動畫 231
13.8 OpenGL簡介 232
13.9 小結 232
第14章 Web:Web視圖和互聯網協議 234
14.1 互聯網的層次結構 234
14.2 低層次聯網 234
14.3 使用URL 236
14.3.1 創建NSURL 236
14.3.2 構建NSURLRequest 237
14.3.3 手動操作HTML數據 238
14.4 使用UIWebView 238
14.4.1 調用Web視圖 239
14.4.2 管理Web視圖委托 239
14.4.3 縮略圖:一個Web視圖例子 240
14.5 解析XML 242
14.5.1 啓動NSXMLParser 242
14.5.2 充當委托 243
14.5.3 構建示例RSS閱讀器 244
14.5.4 海拔高度重讀:一個Core Location示例 248
14.6 提交給Web 250
14.6.1 手動提交 250
14.6.2 提交錶單 251
14.7 訪問社交網絡 252
14.7.1 使用Web協議 252
14.7.2 使用TouchJSON 253
14.8 小結 255
第15章 使用Game Kit進行P2P連接 256
15.1 Game Kit概述 256
15.2 使用對等點選取器創建P2P應用程序 257
15.2.1 使用蘋果公司的內置對等點
選取器 257
15.2.2 實現GKSession Delegate
方法 260
15.2.3 在對等點之間發送和接收
數據 261
15.3 示例:創建一個多人乒乓球遊戲 263
15.3.1 啓動GKTennis項目 264
15.3.2 創建頭文件 264
15.3.3 創建乒乓球遊戲界麵 265
15.3.4 遊戲初始化 266
15.3.5 建立對等點選取器並進行連接 267
15.3.6 實現send和receive方法 268
15.3.7 遊戲循環 270
15.3.8 用戶交互 273
15.4 小結 274
第16章 推送通知服務 275
16.1 什麼是推送通知 275
16.2 蘋果公司的推送通知係統概述 276
16.3 準備在應用程序中使用推送通知服務 277
16.3.1 設置應用程序證書 278
16.3.2 建立供應配置文件 279
16.3.3 處理推送通知的代碼 279
16.3.4 準備音頻文件 281
16.4 使用PHP創建一個推送通知提供程序 281
16.4.1 創建SSL證書 282
16.4.2 實現PHP推送通知提供程序 283
16.5 小結 284
第17章 Map Kit框架 285
17.1 Map Kit概述 285
17.2 嚮應用程序添加地圖 285
17.2.1 使用Interface Builder添加地圖 285
17.2.2 用編程方式添加地圖 287
17.2.3 控製地圖 287
17.3 翻譯地理編碼 289
17.4 標注地圖 290
17.4.1 添加基本地圖標注 291
17.4.2 添加自定義地圖標注 292
17.5 小結 296
第18章 使用Store Kit實現應用內購買 297
18.1 建立沙盒測試環境 297
18.1.1 創建iTunes測試用戶 298
18.1.2 添加産品 299
18.2 創建一個簡單的商店界麵 301
18.3 小結 309
第19章 iPhone SDK增強功能 311
19.1 自定義鍵盤附件 311
19.1.1 擴展UITextField 312
19.1.2 實現自定義UIText Field 314
19.1.3 自定義鍵盤 314
19.2 繼續:iPhone 4.0 SDK 316
19.2.1 多任務 316
19.2.2 用戶體驗增強功能 317
19.2.3 多媒體框架增強功能 317
19.2.4 Game Center 317
19.3 小結 318
附錄A iPhone OS類參考 319
附錄B 外部資源和參考資料 322
附錄C 發布SDK程序 324
附錄D 針對iPad更新當前應用程序 327
· · · · · · (
收起)