編輯推薦
暢銷書作者Kyle Richter全新作品
每一章包含一個完整的Objective-C示例程序
另有一個跨章節的Game Center案例
演示瞭如何進行組閤多個iOS功能
內容簡介
蘋果的iOS SDK提供瞭非常強大的框架集閤,即使到現在為止,找到這些框架的詳細介紹和使用方法都有一定睏難。不過,藉助本書的實用見解和經過驗證的代碼,你可以使用蘋果公司提供的這些框架來創建更有創意、更實用的應用,同時也會讓編寫代碼的過程更加快速、讓代碼更加可靠,也讓應用更加成功、更有市場。
Kyle Richter和Joe Keeley關注專業開發者每天都會用到的一些中高級技術,涉及的技術範圍從支持社交網絡到安全保障,從Core Data到iCloud,甚至有關Apple Watch的內容都包含在內。
作為一本便捷的模塊化參考書,幾乎每一章都會包含一個完整的Objective-C示例程序。另有一個跨章節的Game Center案例,也正好演示瞭多個iOS功能是如何進行組閤的。
主要內容:
■ 添加類似物理效果的動畫和動作到UIView視圖
■ 使用Core Location確定設備的位置,顯示自定義地圖並實現地理圍欄
■ 在遊戲和其他應用中加入帶有社交元素的排行榜功能
■ 訪問音樂和圖片集
■ 使用HealthKit實現帶有健康和健身功能的應用
■ 通過HomeKit實現傢居智能化
■ 使用JSON在平颱間傳輸數據
■ 設置本地和遠程通知
■ 使用CloudKit實現數據的遠程存儲和同步
■ 實現訪問應用的extension功能
■ 輕鬆添加AirPrint功能
■ 在iOS 8和Yosemite設備之間提供連續的Handoff功能
■ 學習有效使用Core Data
■ 通過社交框架在應用中整閤Twitter和Facebook
■ 使用Grand Central Dispatch機製處理多綫程任務
■ 使用Keychain和Touch ID保護用戶數據
■ 定製集閤視圖
■ 掌握大部分的手勢識彆方法
■ 創建和發送“通行證”到Passbook
■ 調試工具的介紹及應用的優化
作者簡介
Kyle Richter,是MartianCraft公司的CEO,MartianCraft公司曾贏得Mobile Development Studio稱號。Kyle在20世紀90年代初就開始從事軟件開發工作,並始終專注於基於蘋果公司平颱的開發,他在iOS開發方麵已經齣版和共同齣版瞭多種著作,包括Beginning iOS Game Center Development、Beginning Social Game Development和iOS Components and Frameworks。利用管理MartianCraft公司每日運營的同時,Kyle還要在全球齣差,介紹有關開發和公司管理的經驗。現在佛羅裏達群島是他的傢,因為在那裏他要花時間陪伴他可愛的邊境牧羊犬。你也可以通過@kylerichter在Twitter上找到他。
Joe Keeley,是MartianCraft公司的閤夥人及首席工程師。Joe為iOS客戶項目提供技術指導並主導瞭許多成功的項目。他從Apple Ⅱ開始就熱衷於程序開發,在他的職業生涯中從事過許多不同技術和係統項目的開發。在美國,Joe齣版瞭多種有關iOS和Mac技術開發的參考書。Joe和妻子及兩個女兒居住在科羅拉多州丹佛市,在閑暇時間他喜歡從事擊劍運動。他在Twitter上的名字是@jwkeeley。
目錄
第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
第2章 Core Location、MapKit和Geofencing框架 13
2.1 示例程序 13
2.2 獲取用戶位置 13
2.2.1 請求和允許 14
2.2.2 檢查服務 16
2.2.3 開始位置請求 17
2.2.4 解析和理解位置數據 19
2.2.5 重大變更通知 20
2.2.6 使用GPX文件測試指定位置 20
2.3 顯示地圖 21
2.3.1 瞭解坐標係 21
2.3.2 MKMapKit配置和自定義 22
2.3.3 對用戶操作的響應 23
2.4 地圖標注和覆蓋物 24
2.4.1 添加標注 24
2.4.2 顯示標準和自定義的標注視圖 26
2.4.3 可拖曳的標注視圖 29
2.4.4 使用地圖覆蓋物 30
2.5 地理編碼和反嚮地理編碼 31
2.5.1 對地址進行地理編碼 31
2.5.2 對位置進行反嚮地理編碼 35
2.6 地理圍欄 38
2.6.1 判斷區域監控是否可用 38
2.6.2 定義邊界 38
2.6.3 監控變更 39
2.7 獲取路徑 41
2.8 小結 45
第3章 排行榜 47
3.1 示例程序 47
3.1.1 彈齣仙人掌 49
3.1.2 仙人掌間的相互影響 51
3.1.3 顯示生命值和得分 53
3.1.4 暫停和恢復 54
3.1.5 有關Whack-a-Cac遊戲的最後問題 55
3.2 iTunes Connect 55
3.3 Game Center管理器 58
3.4 認證 60
3.4.1 常見的認證錯誤 60
3.4.2 iOS 6和新的認證係統 62
3.5 提交得分 64
3.5.1 嚮Whack-a-Cac中添加得分 66
3.5.2 展示排行榜 68
3.5.3 得分挑戰 70
3.5.4 深入討論排行榜 71
3.6 小結 72
第4章 成就係統 73
4.1 iTunes Connect 73
4.2 顯示成就進度 75
4.3 Game Center Manager和認證 76
4.4 成就係統緩存 76
4.5 上報成就係統 77
4.6 添加成就關聯 79
4.7 進度完成通知欄 80
4.8 成就挑戰係統 80
4.9 嚮Whack-a-Cac添加成就係統 83
4.9.1 是否達成成就 83
4.9.2 部分完成的成就 85
4.9.3 多會話成就 86
4.9.4 攜帶成就和保存成就精度 87
4.9.5 基於時間的成就 88
4.10 重置成就係統 89
4.11 深入討論成就係統 90
4.12 小結 91
第5章 Address Book框架初步 93
5.1 支持Address Book很重要 93
5.2 Address Book開發的限製 93
5.3 示例程序 94
5.4 開始實現Address Book並運行 94
5.4.1 從Address Book讀取數據 96
5.4.2 從Address Book讀取多值數據 97
5.4.3 理解Address Book標簽 98
5.4.4 處理地址信息 99
5.5 Address Book圖形用戶界麵 100
5.6 編寫代碼來創建聯係人 105
5.7 小結 107
第6章 Music Libraries框架 109
6.1 示例程序 109
6.2 創建播放引擎 110
6.2.1 注冊播放通知 111
6.2.2 用戶控製 112
6.2.3 處理狀態改變 114
6.2.4 時長和計時器 118
6.2.5 隨機播放和循環播放 119
6.3 資源選擇器 119
6.4 編程實現選擇器 121
6.4.1 播放隨機歌麯 121
6.4.2 謂詞匹配 123
6.5 小結 124
第7章 實現HealthKit框架 125
7.1 HealthKit介紹 125
7.2 Health.app介紹 126
7.3 示例程序 126
7.4 嚮項目添加HealthKit 127
7.5 請求授權Health Data 128
7.6 讀取HealthKit特徵數據 130
7.7 讀寫基本的HealthKit數據 131
7.8 讀寫復雜的HealthKit數據 133
7.9 小結 137
第8章 實現HomeKit框架 139
8.1 示例程序 139
8.2 HomeKit介紹 139
8.3 設置HomeKit組件 140
8.3.1 設置開發者賬號 140
8.3.2 啓用HomeKit功能 141
8.3.3 傢庭管理器 142
8.3.4 傢庭 143
8.3.5 房間和區域 144
8.3.6 附件 146
8.3.7 服務和服務組 149
8.3.8 動作和動作集 151
8.4 使用HomeKit Accessory Simulator進行測試 152
8.5 使用觸發器計劃動作 153
8.6 小結 154
第9章 JSON的使用和解析 155
9.1 JSON 155
9.1.1 使用JSON的好處 155
9.1.2 JSON資源 156
9.2 示例程序 156
9.3 訪問服務器 156
9.4 從服務器獲取JSON 156
9.4.1 創建請求 157
9.4.2 檢查反饋 157
9.4.3 解析JSON 158
9.4.4 顯示數據 158
9.5 發送消息 160
9.5.1 JSON數據編碼 160
9.5.2 嚮服務器發送JSON數據 162
9.6 小結 163
第10章 通知機製 165
10.1 本地通知和推送通知的區彆 165
10.2 示例程序 166
10.3 應用設置 166
10.4 創建Development Push SSL Certificate 168
10.5 開發配置文件 171
10.6 準備自定義聲音 175
10.7 注冊通知 175
10.8 設置本地通知 176
10.9 接收通知 178
10.10 推送通知服務器 179
10.11 發送推送通知 179
10.12 處理APNs反饋 180
10.13 小結 181
第11章 基於CloudKit的雲存儲 183
11.1 CloudKit基礎 183
11.2 示例程序 184
11.3 設置CloudKit項目 184
11.3.1 賬戶設置 184
11.3.2 啓用iCloud功能 185
11.4 CloudKit概念 186
11.4.1 容器 186
11.4.2 數據庫 186
11.4.3 記錄 186
11.4.4 記錄區域 187
11.4.5 記錄標識符 187
11.4.6 asset對象 187
11.5 CloudKit基礎操作 188
11.5.1 獲取記錄 188
11.5.2 創建並保存記錄 189
11.5.3 更新和保存記錄 191
11.6 訂閱和推送 191
11.6.1 推送設置 192
11.6.2 數據變更的訂閱 192
11.7 用戶發現和管理 193
11.8 在dashboard中管理數據 197
11.9 小結 199
第12章 extension 201
12.1 extension的類型 201
12.1.1 Today 201
12.1.2 Share 202
12.1.3 Action 202
12.1.4 Photo Editing 202
12.1.5 Document Provider 202
12.1.6 Custom Keyboard 202
12.2 理解extension 202
12.3 API限製 203
12.4 創建extension 203
12.5 Today extension 205
12.6 在host app和extension間共享代碼和信息 206
12.7 Apple Watch extension 207
12.8 小結 209
第13章 Handoff 211
13.1 示例程序 211
13.2 Handoff基礎 211
13.3 實現Handoff 213
13.3.1 創建用戶活動 213
13.3.2 繼續執行一個活動 215
13.4 在基於文檔的應用中實現Handoff 216
13.5 小結 218
第14章 AirPrint 219
14.1 AirPrint打印機 219
14.2 測試AirPrint 220
14.3 打印文本 221
14.3.1 打印信息 222
14.3.2 設置頁麵範圍 222
14.3.3 UISimpleTextPrint-
Formatter 223
14.3.4 錯誤處理 223
14.3.5 開始一個打印任務 224
14.3.6 打印機模擬器反饋 224
14.4 打印中心 225
14.5 打印呈現的HTML 226
14.6 打印PDF 227
14.7 小結 228
第15章 開始使用Core Data 229
15.1 Core Data的選擇 230
15.2 示例程序 231
15.3 開始一個Core Data項目 232
15.4 創建托管對象模型 235
15.4.1 創建實體 236
15.4.2 添加特性 236
15.4.3 建立關係 237
15.4.4 自定義托管對象子類 238
15.5 設置默認數據 238
15.5.1 插入新的托管對象 239
15.5.2 其他默認的數據設置
方法 240
15.6 顯示托管對象 240
15.6.1 創建取迴請求 241
15.6.2 根據對象ID取迴托管對象 242
15.6.3 顯示對象數據 244
15.6.4 使用謂詞 245
15.7 取迴結果控製器介紹 246
15.7.1 準備取迴結果控製器 247
15.7.2 整閤錶視圖和取迴結果控製器 248
15.7.3 對Core Data變化的響應 250
15.8 添加、編輯和刪除托管對象 253
15.8.1 插入新的托管對象 253
15.8.2 刪除托管對象 254
15.8.3 編輯現有的托管對象 255
15.8.4 保存和迴滾修改 255
15.9 小結 257
第16章 使用社交框架整閤Twitter和Facebook 259
16.1 示例程序 259
16.2 用戶登錄 260
16.3 使用SLComposeView-Controller 261
16.4 使用自定義界麵發送消息 263
16.4.1 嚮Twitter發送消息 263
16.4.2 嚮Facebook發送消息 267
16.4.3 創建Facebook應用 267
16.5 訪問用戶時間軸 272
16.5.1 Twitter 272
16.5.2 Facebook 277
16.6 小結 281
第17章 後颱任務處理 283
17.1 示例程序 283
17.2 檢查後颱運行的可行性 284
17.3 在後颱完成任務 285
17.3.1 後颱任務標識符 286
17.3.2 超時處理程序 286
17.3.3 完成後颱任務 287
17.4 實現後颱活動 288
17.4.1 後颱活動的類型 288
17.4.2 在後颱播放音樂 289
17.5 小結 292
第18章 多綫程開發的性能 293
18.1 示例程序 293
18.2 隊列介紹 294
18.3 在主綫程上運行 295
18.4 在後颱運行 296
18.5 在操作隊列中運行 298
18.5.1 並發操作 298
18.5.2 串行操作 299
18.5.3 取消操作 301
18.5.4 自定義操作 302
18.6 在調度隊列中運行 303
18.6.1 並發調度隊列 304
18.6.2 串行調度隊列 305
18.7 小結 307
第19章 使用Keychain和TouchID保護並訪問數據 309
19.1 示例程序 310
19.2 創建和使用Keychain 310
19.2.1 創建新的KeychainItemWrapper 310
19.2.2 保存和獲取PIN 312
19.2.3 Keychain特性鍵 312
19.2.4 保護字典對象 313
19.2.5 重置Keychain元素 315
19.2.6 在應用間共享Keychain 315
19.2.7 Keychain錯誤代碼 316
19.3 實現Touch ID 317
19.4 小結 318
第20章 處理圖片和過濾器 319
20.1 示例程序 319
20.2 基本圖片數據和顯示 319
20.2.1 實例化圖片 319
20.2.2 顯示圖片 321
20.2.3 使用圖片選擇器 323
20.2.4 調整圖片尺寸 325
20.3 Core Image過濾器 326
20.3.1 過濾器類彆和過濾器 326
20.3.2 過濾器特性 328
20.3.3 初始化圖片 331
20.3.4 渲染過濾後的圖片 331
20.3.5 鏈式過濾 332
20.4 特徵檢測 333
20.4.1 創建人臉檢測器 334
20.4.2 處理人臉特徵 334
2
精通iOS框架·第2版/移動開發經典叢書 下載 mobi epub pdf txt 電子書 格式