內容簡介
《iPad開發入門經典》基於iOS 3.2編寫,循序漸進地介紹了從事iPad開發所需的基本知識,包括使用Xcode、Interface Builder、Objective-C和Cocoa Touch等開發工具,設計及美化用戶界面,彈出框及iPad特有的其他UI元素,讀寫和顯示數據,使用表視圖和分割視圖導航結構化數據,創建可旋轉和調整大小的用戶界面,播放和錄製多媒體,使用地圖和定位功能,使用加速計檢測運動,創建通用應用程式,調試、最佳化和發布應用程式等主題。
《iPad開發入門經典》通過簡潔的語言和詳細的步驟,幫助讀者迅速掌握開發iPad應用程式所需的基本知識,適合沒有任何編程經驗的新手閱讀,也可供有志於從事iPad開發的人員參考。
目錄
目 錄
第1章 為開發準備好系統和iPad 1
1.1 歡迎進入iPhone OS平台 1
1.1.1 顯示屏和圖形 1
1.1.2 應用程式資源約束 2
1.1.3 連線性 3
1.1.4 輸入和反饋 3
1.2 成為iPad開發人員 3
1.2.1 加入Apple開發人員計畫 4
1.2.2 安裝iPhone OS開發工具 6
1.3 創建開發供應配置檔案 7
1.3.1 什麼是開發供應配置檔案 7
1.3.2 生成並安裝開發供應配置檔案 7
1.3.3 使用iPad應用程式測試配置檔案 15
1.4 開發技術概述 16
1.4.1 Apple開發套件 16
1.4.2 Objective-C 16
1.4.3 CoCoa Touch 16
1.4.4 模型-視圖-控制器 17
1.5 總結 17
1.6 問與答 17
1.7 作業 17
1.7.1 測驗 17
1.7.2 答案 18
1.7.3 練習 18
第2章 Xcode和iPhone模擬器簡介 19
2.1 使用Xcode 19
2.1.1 創建和管理項目 20
2.1.2 刪除檔案和資源 24
2.1.3 編輯和導航代碼 24
2.1.4 生成應用程式 28
2.1.5 項目屬性 30
2.2 使用iPhone模擬器 32
2.2.1 在模擬器中啟動應用程式 33
2.2.2 模擬多點觸摸事件 33
2.2.3 旋轉模擬的iPad 34
2.2.4 模擬其他情況 34
2.3 進一步探索 35
2.4 總結 35
2.5 問與答 36
2.6 作業 36
2.6.1 測驗 36
2.6.2 答案 36
2.6.3 練習 36
第3章 探索Apple平台語言Objective-C 37
3.1 面向對象編程和Objective-C 37
3.1.1 什麼是面向對象編程? 38
3.1.2 面向對象編程術語 39
3.1.3 什麼是Objective-C? 40
3.2 探索Objective-C檔案結構 40
3.2.1 頭檔案/接口檔案 41
3.2.2 實現檔案 44
3.2.3 自動生成的結構 45
3.3 Objective-C編程基礎 45
3.3.1 聲明變數 46
3.3.2 分配、初始化和釋放對象 47
3.3.3 使用方法及傳送訊息 48
3.3.4 表達式和決策 49
3.4 記憶體管理 52
3.4.1 釋放對象 52
3.4.2 使用autorelease方法 53
3.4.3 保留對象 53
3.4.4 在dealloc中釋放實例變數 53
3.4.5 釋放規則 54
3.5 進一步探索 54
3.6 總結 54
3.7 問與答 55
3.8 作業 55
3.8.1 測驗 55
3.8.2 答案 55
3.8.3 練習 56
第4章 Cocoa Touch內幕 57
4.1 Cocoa Touch是什麼? 57
4.1.1 冷靜面對大量的功能 58
4.1.2 年輕而成熟 58
4.2 探索iPhone OS技術層 59
4.2.1 Cocoa Touch層 59
4.2.2 多媒體層 60
4.2.3 核心服務層 61
4.2.4 核心OS層 61
4.3 跟蹤iPad應用程式的生命周期 62
4.4 Cocoa基礎 63
4.4.1 核心應用程式類 63
4.4.2 數據類型類 65
4.4.3 界面類 67
4.5 使用Xcode探索iPhone OS框架 69
4.5.1 Xcode文檔 69
4.5.2 快速幫助 71
4.6 總結 72
4.7 問與答 72
4.8 作業 72
4.8.1 測驗 72
4.8.2 答案 73
4.8.3 練習 73
第5章 探索Interface Builder 75
5.1 了解Interface Builder 75
5.1.1 Interface Builder採用的方法 76
5.1.2 剖析Interface Builder XIB檔案 76
5.2 創建用戶界面 79
5.2.1 對象庫 79
5.2.2 布局工具 80
5.3 定製界面外觀 82
5.3.1 使用屬性檢查器 83
5.3.2 設定輔助功能屬性 84
5.3.3 測試界面 85
5.4 連線到代碼 86
5.4.1 在Xcode中啟動InterfaceBuilder 86
5.4.2 實現概述 87
5.4.3 輸出口和操作 88
5.4.4 對象身份 91
5.5 進一步探索 91
5.6 總結 92
5.7 問與答 92
5.8 作業 93
5.8.1 測驗 93
5.8.2 答案 93
5.8.3 練習 93
第6章 模型-視圖-控制器應用程式設計 95
6.1 了解設計模式模型-視圖-控制器 95
6.1.1 製作意大利麵條 96
6.1.2 使用MVC將應用程式設計結構化 96
6.2 Xcode和Interface Builder如何實現MVC 97
6.2.1 視圖 97
6.2.2 視圖控制器 97
6.2.3 數據模型 99
6.3 使用模板View-Based Application 99
6.3.1 實現概述 100
6.3.2 創建項目 100
6.3.3 在視圖控制器中創建輸出口和操作 103
6.3.4 創建視圖 104
6.3.5 實現視圖控制器邏輯 108
6.3.6 釋放記憶體 109
6.3.7 生成應用程式 110
6.4 進一步探索 110
6.5 總結 111
6.6 問與答 111
6.7 作業 111
6.7.1 測驗 111
6.7.2 答案 111
6.7.3 練習 112
第7章 使用文本、鍵盤和按鈕 113
7.1 基本用戶輸入和輸出 113
7.1.1 按鈕 113
7.1.2 文本框和文本視圖 114
7.1.3 標籤 114
7.2 使用文本欄位、文本視圖和按鈕 114
7.2.1 實現概述 115
7.2.2 創建項目 115
7.2.3 創建輸出口和操作 116
7.2.4 添加文本框 117
7.2.5 添加文本視圖 121
7.2.6 創建自定義按鈕 124
7.2.7 隱藏鍵盤 129
7.2.8 實現視圖控制器邏輯 131
7.2.9 釋放對象 132
7.2.10 生成應用程式 132
7.3 進一步探索 133
7.4 總結 133
7.5 問與答 134
7.6 作業 134
7.6.1 測驗 134
7.6.2 答案 134
7.6.3 練習 134
第8章 處理圖像、動畫和滑塊 135
8.1 用戶輸入和輸出 135
8.1.1 滑塊 135
8.1.2 圖像視圖 136
8.2 創建並管理圖像動畫和滑塊 136
8.2.1 實現概述 136
8.2.2 創建項目 137
8.2.3 添加動畫資源 137
8.2.4 準備輸出口和操作 138
8.2.5 添加圖像視圖 139
8.2.6 添加滑塊 143
8.2.7 完成界面的創建 145
8.2.8 實現視圖控制器邏輯 147
8.2.9 釋放對象 149
8.2.10 生成應用程式 150
8.3 進一步探索 150
8.4 總結 151
8.5 問與答 151
8.6 作業 151
8.6.1 測驗 151
8.6.2 答案 151
8.6.3 練習 152
第9章 使用高級界面對象和視圖 153
9.1 再談用戶輸入和輸出 153
9.1.1 開關 154
9.1.2 分段控制項 154
9.1.3 Web視圖 155
9.1.4 可滾動的視圖 156
9.2 使用開關、分段控制項和Web視圖 156
9.2.1 實現概述 157
9.2.2 創建項目 157
9.2.3 創建輸出口和操作 157
9.2.4 添加分段控制項 158
9.2.5 添加開關 161
9.2.6 添加Web視圖 163
9.2.7 完成界面 165
9.2.8 實現視圖控制器邏輯 166
9.2.9 釋放對象 169
9.2.10 生成應用程式 169
9.3 使用可滾動視圖 170
9.3.1 實現概述 170
9.3.2 創建項目 171
9.3.3 創建輸出口 171
9.3.4 添加可滾動視圖 171
9.3.5 實現滾動行為 173
9.3.6 釋放對象 174
9.3.7 生成應用程式 174
9.4 進一步探索 174
9.5 總結 175
9.6 問與答 175
9.7 作業 175
9.7.1 測驗 175
9.7.2 答案 176
9.7.3 練習 176
第10章 引起用戶注意 177
10.1 探索提醒用戶的方法 177
10.1.1 準備通知項目檔案 177
10.1.2 創建通知項目的界面 178
10.1.3 連線到輸出口和操作 179
10.2 生成提醒 180
10.2.1 顯示簡單提醒 181
10.2.2 創建多選項提醒 182
10.2.3 在提醒對話框中添加文本框 185
10.3 使用提醒聲音 188
10.3.1 系統聲音服務 188
10.3.2 播放聲音 189
10.4 進一步探索 191
10.5 總結 191
10.6 問與答 191
10.7 作業 191
10.7.1 測驗 191
10.7.2 答案 192
10.7.3 練習 192
第11章 使用彈出框和工具列顯示選項 193
11.1 了解彈出框和工具列 193
11.1.1 彈出框 194
11.1.2 工具列 195
11.2 結合使用彈出框和工具列 196
11.2.1 實現概述 196
11.2.2 創建項目 197
11.2.3 設計彈出框的內容 197
11.2.4 設計應用程式主視圖 200
11.2.5 實現應用程式邏輯 206
11.3 進一步探索 208
11.4 總結 208
11.5 問與答 208
11.6 作業 209
11.6.1 測驗 209
11.6.2 答案 209
11.6.3 練習 209
第12章 使用選擇器和操作表選擇多種值 211
12.1 以彈出框為中心的UI元素 211
12.1.1 選擇器 212
12.1.2 操作表 214
12.2 用於練習使用選擇器和操作表的項目 215
12.3 使用日期選擇器 215
12.3.1 實現概述 215
12.3.2 創建項目 216
12.3.3 添加日期選擇器 217
12.3.4 完成界面 219
12.3.5 實現視圖控制器邏輯 220
12.4 實現自定義選擇器視圖 223
12.4.1 實現概述 223
12.4.2 創建項目 223
12.4.3 添加選擇器視圖 225
12.4.4 完成界面 226
12.4.5 向選擇器提供數據 227
12.4.6 對用戶在選擇器中選擇值做出反應 230
12.4.7 微調選擇器UI 232
12.5 使用操作表 235
12.5.1 實現概述 235
12.5.2 創建項目 236
12.5.3 創建界面 236
12.5.4 實現視圖控制器邏輯 237
12.5.5 對用戶按下操作表按鈕做出回響 238
12.5.6 修改操作表的外觀和行為 239
12.6 進一步探索 239
12.7 總結 240
12.8 問與答 240
12.9 作業 241
12.9.1 測驗 241
12.9.2 答案 241
12.9.3 練習 241
第13章 使用模態視圖凸顯任務 243
13.1 模態視圖 243
13.2 使用模態視圖 245
13.2.1 實現概述 246
13.2.2 創建項目 246
13.2.3 設計主視圖 247
13.2.4 設計模態視圖 250
13.2.5 實現模態視圖邏輯 251
13.3 進一步探索 253
13.4 總結 253
13.5 問與答 254
13.6 作業 254
13.6.1 測驗 254
13.6.2 答案 254
13.6.3 練習 254
第14章 實現多視圖應用程式 255
14.1 探索單視圖應用程式和多視圖應用程式 255
14.2 創建多視圖應用程式 256
14.2.1 實現概述 256
14.2.2 創建項目 256
14.2.3 實例化視圖控制器 258
14.2.4 添加工具列控制項 260
14.3 創建多視圖選項卡欄應用程式 265
14.3.1 實現概述 265
14.3.2 創建項目 266
14.3.3 添加選項卡欄控制器 268
14.3.4 配置視圖控制器類 270
14.3.5 實現AreaView視圖 270
14.3.6 實現VolumeView視圖 276
14.3.7 實現SummaryView視圖 279
14.4 進一步探索 282
14.5 總結 283
14.6 問與答 283
14.7 作業 283
14.7.1 測驗 283
14.7.2 答案 283
14.7.3 練習 284
第15章 使用表視圖和基於分割視圖的應用程式導航數據 285
15.1 了解表視圖和分割視圖 285
15.1.1 表視圖 286
15.1.2 模板Split View-Based Application 287
15.2 創建簡單的表視圖應用程式 288
15.2.1 實現概述 289
15.2.2 準備視圖控制器 289
15.2.3 給表視圖提供數據 293
15.2.4 回響行觸摸事件 297
15.2.5 微調錶視圖的外觀 299
15.3 創建基於分割視圖的應用程式 300
15.3.1 實現概述 300
15.3.2 創建項目 301
15.3.3 給應用程式提供數據 304
15.3.4 實現根表視圖控制器 307
15.3.5 處理導航事件 309
15.3.6 實現詳細視圖控制器 309
15.4 進一步探索 311
15.5 總結 311
15.6 問與答 311
15.7 作業 312
15.7.1 測驗 312
15.7.2 答案 312
15.7.3 練習 312
第16章 讀寫應用程式數據 313
16.1 設計方面的考慮 313
16.2 讀寫用戶默認設定 315
16.2.1 隱式首選項 315
16.2.2 實現系統設定 320
16.3 理解iPad檔案系統沙箱 327
16.3.1 應用程式數據的存儲位置 328
16.3.2 檔案路徑 329
16.4 實現檔案系統存儲 330
16.4.1 創建項目 330
16.4.2 創建界面 332
16.4.3 添加另一個視圖控制器 336
16.4.4 實現應用程式的邏輯 338
16.4.5 實現對象歸檔 343
16.4.6 在應用程式FlashCards中歸檔 345
16.5 進一步探索 346
16.6 總結 347
16.7 問與答 347
16.8 作業 347
16.8.1 測驗 347
16.8.2 答案 347
16.8.3 練習 348
第17章 創建可旋轉及調整大小的用戶界面 349
17.1 可旋轉和調整大小的界面 349
17.1.1 界面旋轉的關鍵 350
17.1.2 設計可旋轉和調整大小的界面 351
17.2 使用Interface Builder創建可旋轉和調整大小的界面 352
17.2.1 創建項目 352
17.2.2 創建靈活的界面 353
17.3 旋轉時調整控制項的框架 356
17.3.1 創建項目 357
17.3.2 創建界面 358
17.3.3 實現調整框架的邏輯 361
17.4 旋轉時切換視圖 362
17.4.1 創建項目 362
17.4.2 創建界面 363
17.4.3 實現視圖切換邏輯 365
17.5 進一步探索 367
17.6 總結 367
17.7 問與答 367
17.8 作業 368
17.8.1 測驗 368
17.8.2 答案 368
17.8.3 練習 368
第18章 擴展觸摸界面 369
18.1 多點觸摸手勢識別 369
18.2 使用手勢識別器 370
18.2.1 實現概述 370
18.2.2 創建項目 371
18.2.3 創建界面 372
18.2.4 實現輕按手勢識別器 374
18.2.5 實現輕掃手勢識別器 376
18.2.6 實現張合手勢識別器 377
18.2.7 實現旋轉手勢識別器 378
18.2.8 實現搖動識別器 380
18.3 進一步探索 381
18.4 總結 381
18.5 問與答 381
18.6 作業 382
18.6.1 測驗 382
18.6.2 答案 382
18.6.3 練習 382
第19章 使用加速計輸入檢測移動 383
19.1 加速計簡介 383
19.2 檢測朝向 385
19.2.1 添加輸出口 386
19.2.2 設計UI並連線到輸出口 386
19.2.3 實現UIAccelerometer-Delegate協定 387
19.3 檢測傾斜 389
19.3.1 添加輸出口 389
19.3.2 設計UI並連線到輸出口 389
19.3.3 實現UIAccelerometer-Delegate協定 390
19.4 檢測移動 391
19.5 進一步探索 392
19.6 總結 393
19.7 作業 393
19.7.1 測驗 393
19.7.2 答案 393
19.7.3 練習 393
第20章 使用多媒體 395
20.1 探索多媒體 395
20.1.1 Media Player框架 396
20.1.2 AV Foundation框架 396
20.1.3 圖像選擇器 397
20.2 創建用於練習使用多媒體的應用程式 397
20.2.1 實現概述 397
20.2.2 編輯項目檔案 397
20.2.3 創建應用程式界面 399
20.2.4 連線到輸出口和操作 400
20.3 使用電影播放器 400
20.3.1 添加Media Player框架 401
20.3.2 添加多媒體檔案 401
20.3.3 實現電影播放 402
20.3.4 執行清理工作 403
20.4 錄製和播放音頻 404
20.4.1 添加AV Foundation框架 404
20.4.2 實現錄音功能 405
20.4.3 控制錄音 406
20.4.4 控制音頻播放 407
20.4.5 執行清理工作 407
20.5 使用iPad照片庫 408
20.6 訪問並播放iPod庫 410
20.6.1 實現多媒體選擇器 411
20.6.2 實現音樂播放器 414
20.7 進一步探索 415
20.8 總結 416
20.9 問與答 416
20.10 作業 416
20.10.1 測驗 416
20.10.2 答案 417
20.10.3 練習 417
第21章 與其他應用程式互動 419
21.1 應用程式集成 419
21.1.1 地址簿 419
21.1.2 電子郵件 420
21.1.3 地圖功能 421
21.2 使用地址簿、電子郵件和地圖 422
21.2.1 實現概述 422
21.2.2 創建項目 422
21.2.3 創建應用程式UI 423
21.2.4 連線到輸出口和操作 424
21.2.5 訪問地址簿 424
21.2.6 使用地圖 429
21.2.7 使用Message UI 431
21.3 進一步探索 434
21.4 總結 435
21.5 問與答 435
21.6 作業 435
21.6.1 測驗 435
21.6.2 答案 435
21.6.3 練習 436
第22章 創建通用應用程式 437
22.1 開發通用應用程式 437
22.2 理解模板Window-based Application 438
22.2.1 通用應用程式的plist檔案 439
22.2.2 創建通用應用程式:方法1 440
22.2.3 創建通用應用程式:方法2 445
22.2.4 小結 451
22.3 其他通用應用程式工具 451
22.3.1 升級iPhone目標檔案 451
22.3.2 轉換界面 452
22.4 進一步探索 452
22.5 總結 453
22.6 問與答 453
22.7 作業 453
22.7.1 測驗 453
22.7.2 答案 453
22.7.3 練習 454
第23章 應用程式調試和最佳化 455
23.1 在Xcode中調試 455
23.1.1 使用NSLog進行調試 455
23.1.2 創建用於調試的項目 457
23.1.3 設定斷點及單步執行代碼 458
23.2 使用Instruments監視 465
23.2.1 跟蹤應用程式 466
23.2.2 可用的工具 469
23.3 使用Shark分析性能 470
23.3.1 連線到應用程式 471
23.3.2 理解性能分析結果 474
23.4 進一步探索 476
23.5 總結 476
23.6 問與答 476
23.7 作業 477
23.7.1 測驗 477
23.7.2 答案 477
23.7.3 練習 477
第24章 通過App Store分發應用程式 479
24.1 通過App Store發布應用程式前的準備工作 479
24.1.1 創建圖示 480
24.1.2 創建iPad分發證書 481
24.1.3 設定App ID 483
24.1.4 創建分發供應配置檔案 483
24.1.5 配置項目以便分發 484
24.2 提交應用程式以便批准 486
24.2.1 準備應用程式配置檔案 487
24.2.2 上傳應用程式二進制檔案 490
24.3 推銷應用程式 491
24.3.1 使用iTunes Connect監視和管理銷售情況 492
24.3.2 利用網站和社交網路 493
24.3.3 更新應用程式 494
24.3.4 調整價格 494
24.4 其他分發方法 495
24.4.1 ad hoc部署 495
24.4.2 企業部署 496
24.5 總結 496
24.6 問與答 496
24.7 作業 497
24.7.1 測驗 497
24.7.2 答案 497
24.7.3 練習 497