《iOS組件與框架——iOS SDK高級特性剖析》是2015年7月人民郵電出版社出版的圖書,作者是[美]Kyle Richter、Joe Keeley。
基本介紹
- 中文名:iOS組件與框架——iOS SDK高級特性剖析
- 作者:[美]Kyle Richter、Joe Keeley
- 出版社:人民郵電出版社
- 出版時間:2015年7月
- 頁數:454 頁
- 定價:89 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787115365538
內容簡介,圖書目錄,
內容簡介
《iOS組件與框架——iOS SDK高 級特性剖析》講解了如何使用功能強大的iOS組件和框架來開發傑出的套用,使之具備優異的性能、可靠性、互動性,並對媒體提供支持。本書清晰地介紹了一些開發套用所用到的複雜中高 級技術,並通過大量實例項目來演示將這些技術集成到iOS套用中的方法。
《iOS組件與框架——iOS SDK高 級特性剖析》分為25章,其內容涵蓋了使用UIKit Dynamics提供基於物理現象的動畫效果;充分利用Core Location、MapKit和地理圍欄;利用排行榜和成就等Game Center功能;讓用戶能夠在套用中訪問地址簿和媒體庫;使用輕量級JSON在伺服器、套用和網站之間傳輸數據;使用UIDocument和鍵/值存儲同步通過iCloud同步套用;使用鑰匙串保護數據;使用通知通告用戶與套用相關的重要事件;使用Core Data在本地存儲和檢索持久化數據;使用Objective-C高 級特性編寫更簡潔、更易於管理的套用;使用GCD提供的並發功能提高套用的回響速度;使用TextKit進行發雜的文本處理和顯示;使用Xcode 5和Instruments卓有成效地調試套用;使用PassKit創建憑證等內容。
《iOS組件與框架——iOS SDK高 級特性剖析》為想要開發高性能?iOS?套用的人員提供了實用的技巧、可重用的代碼以及專家級的建議。本書適合具有一定iOS開發經驗,要想進一步提升其開發技能的從業人員閱讀。
圖書目錄
第 1章 UIKit Dynamics 1
1.1 示例套用 1
1.2 UIKit Dynamics簡介 2
1.3 實現UIKit Dynamics 2
1.3.1 重力 3
1.3.2 碰撞 4
1.3.3 連線 6
1.3.4 彈簧效果 7
1.3.5 吸附 8
1.3.6 推力 8
1.3.7 物體屬性 10
1.4 深入了解UIDynamicAnimator和UIDynamicAnimatorDelegate 11
1.5 小結 12
1.6 練習 12
第 2章 Core Location、MapKit和地理圍欄 13
2.1 示例套用 13
2.2 獲取用戶的位置 13
2.2.1 需求和許可 14
2.2.2 檢查定位服務是否已開啟 17
2.2.3 開始位置請求 17
2.2.4 分析和理解位置數據 19
2.2.5 重大變化通知 20
2.2.6 使用GPX檔案進行位置測試 20
2.3 顯示地圖 22
2.3.1 理解坐標系 22
2.3.2 配置和定製MKMapKit 22
2.3.3 回響用戶互動 24
2.4 地圖注釋和覆蓋層 25
2.4.1 添加注釋 25
2.4.2 顯示標準和自定義的注釋視圖 27
2.4.3 可拖曳的注釋視圖 30
2.4.4 使用地圖覆蓋層 31
2.5 地理編碼和反向地理編碼 32
2.5.1 對地址進行地理編碼 32
2.5.2 對位置進行反向地理編碼 36
2.6 地理圍欄 38
2.6.1 檢查區域監視功能 38
2.6.2 定義邊界 39
2.6.3 監視變化 40
2.7 獲取線路 41
2.8 小結 46
2.9 練習 46
第3章 排行榜 47
3.1 “打仙人掌”遊戲 47
3.1.1 生成仙人掌 49
3.1.2 處理玩家與仙人掌的互動 51
3.1.3 顯示生命數和得分 53
3.1.4 暫停和繼續 54
3.1.5 對遊戲“打仙人掌”的最後思考 55
3.2 iTunes Connect 56
3.3 遊戲中心管理器 58
3.4 身份驗證 60
3.4.1 常見的身份驗證錯誤 61
3.4.2 iOS 6身份驗證 63
3.5 提交得分 65
3.5.1 在遊戲“打仙人掌”中添加得分功能 67
3.5.2 顯示排行榜 69
3.5.3 得分挑戰 71
3.5.4 更深入地了解排行榜 72
3.6 小結 74
3.7 練習 74
第4章 成就 75
4.1 iTunes Connect 75
4.2 顯示成就進度 77
4.3 遊戲中心管理器和身份驗證 78
4.4 成就快取 78
4.5 報告成就 80
4.6 添加成就鉤子 82
4.7 完成橫幅 83
4.8 成就挑戰 83
4.9 在遊戲“打仙人掌”中添加成就功能 85
4.9.1 一步獲得的成就 86
4.9.2 可分多步獲得的成就 88
4.9.3 可分多次獲得的成就 89
4.9.4 捎帶式成就及存儲準確的成就進度 90
4.9.5 基於時間的成就 91
4.10 重置成就 92
4.11 更深入地了解成就 93
4.12 小結 94
4.13 練習 94
第5章 地址簿 97
5.1 為何支持地址簿很重要 97
5.2 地址簿編程的限制 97
5.3 示例套用簡介 98
5.4 使用地址簿 99
5.4.1 從地址簿讀取數據 100
5.4.2 從地址簿讀取多值數據 101
5.4.3 理解地址簿標籤 102
5.4.4 使用地址 103
5.5 地址簿圖形用戶界面 104
5.6 以編程方式創建聯繫人 109
5.7 小結 111
5.8 練習 112
第6章 使用音樂庫 113
6.1 示例套用簡介 113
6.2 打造播放引擎 114
6.2.1 註冊播放通知 115
6.2.2 播放控制 116
6.2.3 回響狀態變化 118
6.2.4 時長和定時器 122
6.2.5 隨機播放和重複播放 123
6.3 媒體選擇器 123
6.4 以編程方式選擇媒體 125
6.4.1 隨機選擇歌曲 126
6.4.2 使用謂詞選擇歌曲 127
6.5 小結 129
6.6 練習 129
第7章 使用和分析JSON 131
7.1 JSON 131
7.1.1 使用JSON的好處 131
7.1.2 JSON資源 132
7.2 示例套用簡介 132
7.3 訪問伺服器 132
7.4 從伺服器獲取JSON 133
7.4.1 創建請求 133
7.4.2 查看回響 134
7.4.3 分析JSON 134
7.4.4 顯示數據 135
7.5 發布訊息 137
7.5.1 JSON編碼 137
7.5.2 將JSON數據傳送給伺服器 139
7.6 小結 140
7.7 練習 140
第8章 iCloud 141
8.1 示例套用 141
8.2 配置套用以支持iCloud 142
8.2.1 設定賬戶 142
8.2.2 啟用iCloud功能 143
8.2.3 初始化iCloud 144
8.3 UIDocument簡介 144
8.3.1 創建UIDocument子類 145
8.3.2 與UIDocument互動 146
8.4 與iCloud互動 147
8.4.1 列出iCloud中的文檔 148
8.4.2 檢測iCloud衝突 151
8.5 解決衝突 152
8.6 鍵值存儲同步 156
8.7 小結 158
8.8 練習 158
第9章 通知 159
9.1 本地通知和推送通知的差別 159
9.2 示例套用 160
9.3 配置套用 160
9.4 創建開發推送SSL證書 163
9.5 開發供應配置檔案 165
9.6 準備自定義聲音 169
9.7 註冊遠程通知 169
9.8 調度本地通知 170
9.9 接收通知 171
9.10 推送通知伺服器 172
9.11 Rails基本配置 173
9.12 添加設備和呼叫支持 174
9.13 設備控制器 176
9.14 呼叫控制器 176
9.15 整合起來 177
9.16 傳送推送通知 181
9.17 處理APNs反饋 181
9.18 小結 181
9.19 練習 181
第 10章 使用Game Kit藍牙聯網技術 183
10.1 Game Kit藍牙聯網技術的局限性 183
10.2 Game Kit藍牙聯網技術的優點 183
10.3 示例套用 184
10.4 對等設備選擇器 188
10.5 傳送數據 191
10.5.1 數據傳輸模式 191
10.5.2 在示例套用中傳送數據 192
10.6 接收數據 193
10.7 狀態變化 194
10.8 高 級功能 195
10.8.1 對等設備的顯示名稱 195
10.8.2 在不使用對等設備選擇器的情況下建立連線 195
10.8.3 會話模式 197
10.9 小結 197
10.10 練習 197
第 11章 AirPrint 199
11.1 AirPrint印表機 199
11.2 檢查設備是否支持AirPrint 200
11.3 列印文本 201
11.3.1 列印信息 202
11.3.2 設定頁面範圍 202
11.3.3 錯誤處理 203
11.3.4 啟動列印作業 204
11.3.5 Print Simulator的反饋 205
11.4 列印中心 205
11.5 列印渲染的HTML 207
11.6 列印PDF 208
11.7 小結 209
11.8 練習 209
第 12章 Core Data簡介 211
12.1 判斷是否適合使用Core Data 212
12.2 Core Data託管對象 212
12.2.1 託管對象 213
12.2.2 託管對象模型 213
12.2.3 託管對象模型遷移 215
12.2.4 創建託管對象 215
12.2.5 對象檢索和排序 216
12.2.6 檢索結果控制器 217
12.3 Core Data環境 217
12.3.1 持久存儲協調器 218
12.3.2 持久存儲區 218
12.3.3 託管對象上下文 218
12.4 小結 219
第 13章 使用Core Data 221
13.1 示例套用 221
13.2 創建Core Data項目 222
13.3 創建託管對象模型 225
13.3.1 創建實體 226
13.3.2 添加特性 227
13.3.3 建立關係 227
13.3.4 NSManagedObject子類 228
13.4 添加默認數據 229
13.4.1 插入託管對象 229
13.4.2 其他默認數據添加技術 230
13.5 顯示託管對象 230
13.5.1 創建檢索請求 231
13.5.2 使用對象ID檢索 232
13.5.3 顯示對象數據 234
13.5.4 使用謂詞 235
13.6 檢索結果控制器簡介 237
13.6.1 準備檢索結果控制器 237
13.6.2 集成表視圖和檢索結果控制器 239
13.6.3 回響Core Data變化 241
13.7 添加、編輯和刪除託管對象 243
13.7.1 插入託管對象 243
13.7.2 刪除託管對象 244
13.7.3 編輯託管對象 245
13.7.4 保存和回滾所做的修改 245
13.8 小結 246
13.9 練習 247
第 14章 語言特性 249
14.1 字面量 249
14.1.1 NSNumber 250
14.1.2 NSArray 250
14.1.3 NSDictionary 251
14.1.4 盒裝表達式(Boxed Expressions) 252
14.2 自動引用計數 252
14.2.1 在新項目中使用ARC 252
14.2.2 將既有項目遷移到ARC 253
14.2.3 ARC的基本用法 255
14.2.4 ARC限定符 256
14.3 塊 256
14.3.1 聲明和使用塊 257
14.3.2 使用塊捕獲狀態 257
14.3.3 將塊用作方法參數 259
14.3.4 記憶體、執行緒和塊 260
14.4 屬性 261
14.4.1 聲明屬性 261
14.4.2 合成屬性 262
14.4.3 訪問屬性 263
14.4.4 句點表示法 263
14.4.5 快速枚舉 264
14.5 方法替換 265
14.6 小結 267
14.7 練習 267
第 15章 使用Social Framework集成Twitter和Facebook 269
15.1 集成社交功能 269
15.2 示例套用 269
15.3 登錄 270
15.4 使用SLComposeViewController 271
15.5 使用自定義界面發布訊息 273
15.5.1 發布推文 273
15.5.2 發布Facebook訊息 277
15.5.3 創建Facebook套用 277
15.6 訪問用戶的時光軸 281
15.6.1 Twitter 282
15.6.2 Facebook 287
15.7 小結 290
15.8 練習 291
第 16章 執行後台任務 293
16.1 示例套用 293
16.2 檢查設備是否支持後台處理 294
16.3 在後台完成任務 295
16.3.1 後台任務標識符 296
16.3.2 終止處理程式 296
16.3.3 執行後台任務 297
16.4 實現後台活動 298
16.4.1 後台活動類型 298
16.4.2 在後台播放音樂 299
16.5 小結 302
16.6 練習 302
第 17章 使用GCD改善性能 303
17.1 示例套用 303
17.2 佇列簡介 304
17.3 在主執行緒中運行 304
17.4 在後台運行 306
17.5 在操作佇列中運行 308
17.5.1 並行操作 308
17.5.2 串列操作 309
17.5.3 撤銷操作 311
17.5.4 自定義操作 311
17.6 在分派佇列中運行 313
17.6.1 並行分派佇列 314
17.6.2 串列分派佇列 315
17.7 小結 316
17.8 練習 317
第 18章 使用鑰匙串保護數據 319
18.1 示例套用簡介 319
18.2 使用Keychain 320
18.2.1 創建KeychainItemWrapper實例 320
18.2.2 存儲和獲取PIN 321
18.2.3 鑰匙串項屬性鍵 322
18.2.4 保護字典 323
18.2.5 重置鑰匙串項 325
18.2.6 在套用之間共享鑰匙串項 325
18.2.7 Keychain錯誤碼 326
18.3 小結 327
18.4 練習 327
第 19章 使用圖像和濾鏡 329
19.1 示例套用 329
19.2 基本的圖像數據和顯示 329
19.2.1 實例化圖像 329
19.2.2 顯示圖像 331
19.2.3 使用圖像選擇器 332
19.2.4 調整圖像大小 334
19.3 Core Image濾鏡 335
19.3.1 濾鏡類別和濾鏡 335
19.3.2 濾鏡的屬性 337
19.3.3 初始化圖像 340
19.3.4 渲染套用濾鏡後的圖像 340
19.3.5 串接濾鏡 341
19.4 人臉檢測 342
19.4.1 創建人臉檢測器 342
19.4.2 處理五官 343
19.5 小結 345
19.6 練習 345
第 20章 集合視圖 347
20.1 示例套用 347
20.2 集合視圖簡介 348
20.2.1 創建集合視圖 348
20.2.2 實現集合視圖數據源方法 350
20.2.3 實現集合視圖委託方法 352
20.3 定製集合視圖和流式布局 354
20.3.1 基本定製 354
20.3.2 裝飾視圖 355
20.4 創建自定義布局 359
20.5 集合視圖動畫 362
20.5.1 集合視圖布局變更動畫 362
20.5.2 集合視圖滾動動畫 364
20.5.3 集合視圖內容變更動畫 365
20.6 小結 366
20.7 練習 366
第 21章 TextKit簡介 367
21.1 示例套用 367
21.2 NSLayoutManager簡介 368
21.2.1 NSTextStore 368
21.2.2 NSLayoutManagerDelegate 369
21.2.3 NSTextContainer 370
21.3 動態地檢測連結 370
21.4 觸摸檢測 371
21.5 排除路徑 372
21.6 突出特定內容 373
21.7 使用動態字型修改字型設定 378
21.8 小結 379
21.9 練習 379
第 22章 手勢識別器 381
22.1 手勢識別器類型 381
22.2 手勢識別器的基本用法 382
22.3 示例套用簡介 382
22.3.1 使用輕按識別器 383
22.3.2 使用張合識別器 384
22.4 一個視圖,多個識別器 385
22.4.1 手勢識別器的幕後原理 387
22.4.2 一個視圖多個識別器 388
22.4.3 要求手勢識別器失敗 389
22.5 自定義UIGestureRecognizer子類 391
22.6 小結 392
22.7 練習 392
第 23章 訪問照片庫 393
23.1 示例套用 393
23.2 資產庫 393
23.3 枚舉資產編組和資產 394
23.3.1 許可 394
23.3.2 編組 396
23.3.3 資產 400
23.4 顯示資產 402
23.5 保存到相機膠捲 407
23.6 處理照片流 408
23.7 小結 409
23.8 練習 410
第 24章 Passbook和PassKit 411
24.1 示例套用 411
24.2 設計憑證 412
24.2.1 憑證類型 412
24.2.2 憑證布局之登機牌 413
24.2.3 憑證布局之優惠券 413
24.2.4 憑證布局之入場券 413
24.2.5 憑證布局之通用憑證 414
24.2.6 憑證布局之購物卡 414
24.2.7 憑證的呈現 415
24.3 創建憑證 416
24.3.1 憑證的基本標識 417
24.3.2 憑證的相關信息 417
24.3.3 條形碼標識 418
24.3.4 憑證的外觀信息 418
24.3.5 憑證欄位 419
24.4 憑證的簽名和打包 421
24.4.1 創建憑證類型ID 421
24.4.2 創建憑證簽名證書 423
24.4.3 創建清單檔案 426
24.4.4 對憑證進行簽名和打包 427
24.4.5 測試憑證 428
24.4.6 在套用中與憑證互動 428
24.5 自動更新憑證 436
24.6 小結 437
24.7 練習 437
第 25章 調試和Instruments 439
25.1 調試簡介 439
25.1.1 第 一個計算機Bug 439
25.1.2 Xcode調試基礎 440
25.2 斷點 442
25.2.1 定製斷點 442
25.2.2 符號斷點和異常斷點 443
25.2.3 斷點的範圍 444
25.3 使用調試器 444
25.4 Instruments 446
25.4.1 Instruments的界面 447
25.4.2 探索Instruments:Time Profiler 448
25.4.3 探索Instruments:Leaks 451
25.4.4 更深入地了解Instruments 453
25.5 小結 453
25.6 練習 454