注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计Swift物联网程序设计

Swift物联网程序设计

Swift物联网程序设计

定 价:¥129.00

作 者: [美]艾哈迈德·巴克尔 等著,王烈征 译
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302581833 出版时间: 2021-08-01 包装: 平装-胶订
开本: 16开 页数: 501 字数:  

内容简介

  《Swift物联网程序设计》详细阐述了与Swift 语言开发相关的基本解决方案,主要包括构建个物联网应用程序、Swift入门、使用HealthKit访问健康信息、使用Core Motion保存运动数据、使用Fitbit API集成第三方健身跟踪器和数据、构建个watchOS应用、构建交互式watchOS应用、构建独立的watchOS应用、连接到蓝牙低功耗设备、使用iBeacons进行定位、使用HomeKit实现家庭自动化、构建与Raspberry Pi交互的应用程序、使用钥匙串服务保护数据、使用Touch ID进行本地身份验证、使用Apple Pay接收付款等内容。此外,本书还提供了丰富的示例以及代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。

作者简介

  艾哈迈德·巴克尔(Ahmed Bakir)是devAtelier LLC(www.devatelier.com)的创始人和首席开发人员,devAtelier是一家位于圣地亚哥的移动应用开发公司。Ahmed Bakir在花了几年时间编写嵌入式系统软件之后,他开始在业余时间开发移动App,并以此为乐。消息传开后,就有客户络绎不绝地登门拜访他,以至于他不得不辞掉正式工作,全职投入移动App的开发中。从那以后,Ahmed Bakir参与了20多个移动项目的开发,其中有若干个项目进入了App Store的前25名,包括在同类产品中排名第一的App(Video Scheduler)。他的客户中既有雄心勃勃的初创公司,也有一些大型企业,如Citrix等。业余时间他最喜欢谈论的还是移动开发。

图书目录

第1篇  物联网应用程序开发和Swift编程语言基础知识
第1章  构建个物联网应用程序 3
1.1  设置项目 4
1.2  建立用户界面 8
1.2.1  创建表格视图控制器 9
1.2.2  创建地图视图控制器 19
1.3  请求位置许可 22
1.4  访问用户的位置 26
1.5  显示用户的位置 28
1.5.1  使用数据填充表格视图 28
1.5.2  使用数据填充地图 30
1.6  小结 33
第2章  Swift入门 35
2.1  使用Swift的理由 36
2.2  基本的Swift语法 37
2.2.1  调用方法 37
2.2.2  定义变量 38
2.2.3  复合数据类型 39
2.2.4  条件逻辑 40
2.2.5  枚举类型 41
2.2.6  循环 43
2.3  关于Swift中的面向对象编程 43
2.3.1  构建类 43
2.3.2  协议 45
2.3.3  方法签名 45
2.3.4  访问属性和方法 46
2.3.5  实例化对象 47
2.3.6  字符串 48
2.3.7  格式化字符串 49
2.3.8  集合 50
2.3.9  强制转换 52
2.4  关于Swift特定的语言功能 52
2.4.1  可选类型 53
2.4.2  关于try-catch块 55
2.5  在项目中混合使用Objective-C和Swift 57
2.6  小结 59
第2篇  Fitbit健康设备项目
第3章  使用HealthKit访问健康信息 63
3.1  核心框架和应用程序简介 63
3.2  初步设置 65
3.2.1  设置用户界面 65
3.2.2  设置HealthKit项目 78
3.3  提示用户以获得HealthKit权限 81
3.3.1  从HealthKit检索数据 86
3.3.2  在表格视图中显示结果 91
3.3.3  获取背景更新 95
3.4  小结 97
第4章  使用Core Motion保存运动数据 99
4.1  简介 99
4.2  使用Core Motion访问Motion硬件 99
4.3  查询步数 103
4.3.1  检测实时更新的步数 106
4.3.2  检测活动类型 109
4.4  将数据保存到HealthKit中 111
4.5  小结 120
第5章  使用Fitbit API集成第三方健身跟踪器和数据 121
5.1  关于Fitbit API 121
5.1.1  关于RESTful API 122
5.1.2  Fitbit RESTful API实现细节 124
5.1.3  使用Apache设置本地环境 125
5.1.4  OAuth 1.0a身份验证模型 127
5.1.5  Fitbit OAuth实现 128
5.1.6  Fitbit API调用速率限制 129
5.1.7  进行异步调用 130
5.1.8  使用回调作为参数 131
5.2  设置与Fitbit兼容的iOS项目 132
5.2.1  视图控制器 132
5.2.2  记录器库 136
5.2.3  设置基本的加密功能集 137
5.2.4  API客户端库 140
5.2.5  OAuth库 156
5.2.6  测试到目前为止我们拥有的代码 164
5.3  向Fitbit API发出请求 166
5.3.1  检索用户个人资料 168
5.3.2  在API中检索和设置数据 170
5.3.3  关于OAuth版本的问题 175
5.4  小结 176
第3篇  Apple Watch项目
第6章  构建个watchOS应用 179
6.1  简介 179
6.2  关于watchOS应用程序和iOS应用程序 180
6.3  设置项目 182
6.4  将表格添加到watchOS应用程序中 186
6.4.1  定义表格 190
6.4.2  从iOS应用程序中获取数据 196
6.5  使用自定义布局构建详细信息页面 199
6.6  显示详细信息界面控制器 204
6.6  小结 207
第7章  构建交互式watchOS应用 209
7.1  简介 209
7.2  使用压感触控显示菜单 209
7.2.1  重置位置列表 214
7.2.2  显示细节视图控制器 214
7.2.3  模拟压感触控 217
7.3  将按钮添加到界面控制器 218
7.4  在界面控制器之间传递信息 221
7.5  使用文本输入添加注释 225
7.6  将数据发送回父iOS应用 227
7.7  小结 231
第8章  构建独立的watchOS应用 233
8.1  使用Core Location请求当前位置 233
8.2  使用NSTimer创建提醒 242
8.3  从watchOS应用程序进行网络调用 247
8.4  处理JSON响应 253
8.5  小结 256
第4篇  蓝牙和WiFi连接
第9章  连接到蓝牙低功耗设备 259
9.1  Apple蓝牙协议栈简介 259
9.1.1  关键术语和概念 260
9.1.2  核心蓝牙对象 260
9.2  蓝牙低功耗应用程序构建思路 261
9.3  应用程序开发待办事项 261
9.3.1  基本应用和主场景 262
9.3.2  中心角色场景 263
9.3.3  外围角色场景 264
9.3.4  可编辑文本 265
9.4  设置项目 266
9.5  构建界面 266
9.6  使用中心设备管理器 272
9.7  在应用程序中连接到蓝牙低功耗设备 276
9.7.1  构建界面 276
9.7.2  通过委托保持代码的干净 280
9.7.3  扫描外围设备 284
9.7.4  发现并连接 288
9.7.5  探索服务和特征 289
9.7.6  订阅和接收数据 290
9.8  外围角色 293
9.8.1  构建界面 293
9.8.2  委托设置 294
9.8.3  设置服务 298
9.8.4  广告服务 299
9.8.5  发送数据 300
9.9  为应用程序启用后台通信 302
9.10  蓝牙实践 303
9.10.1  中心角色设备 303
9.10.2  外围角色设备 303
9.11  小结 303
第10章  使用iBeacon进行定位 305
10.1  iBeacon简介 305
10.1.1  iBeacon广告 305
10.1.2  iBeacon准确性 305
10.1.3  隐私 306
10.1.4  区域监视 306
10.2  测距 306
10.3  构建iBeaconApp应用程序 307
10.3.1  创建项目 307
10.3.2  设置背景功能 308
10.4  建立主场景 309
10.4.1  设置UI元素 310
10.4.2  创建出口连接 311
10.4.3  设置约束 312
10.4.4  创建一个自定义按钮 313
10.5  检测蓝牙状态 316
10.6  建立区域监视器场景 319
10.6.1  RegionMonitor类 325
10.6.2  使用委托模式 325
10.6.3  创建RegionMonitor类 326
10.6.4  委托方法 327
10.6.5  RegionMonitor方法 331
10.6.6  授权和请求许可 332
10.6.7  CLLocationManagerDelegate方法 333
10.6.8  配置区域监视 339
10.7  建立iBeacon场景 344
10.7.1  BeaconTransmitter类 347
10.7.2  定义BeaconTransmitterDelegate协议 348
10.7.3  将iOS设备配置为iBeacon 350
10.7.4  测试应用程序 353
10.8  小结 353
第11章  使用HomeKit实现家庭自动化 355
11.1  HomeKit概念介绍 355
11.2  HomeKit委托方法 356
11.3  构建一个HomeKit应用程序 356
11.3.1  需求 357
11.3.2  HomeKit附件模拟器 357
11.4  创建项目 358
11.4.1  启用HomeKit 360
11.4.2  建立家庭界面 360
11.4.3  实现家庭管理器委托方法 362
11.4.4  向家庭管理器添加新家庭 369
11.4.5  从家庭中删除附件 379
11.4.6  使用HomeKit附件模拟器 380
11.4.7  构建服务接口 389
11.4.8  实现UITableView方法 393
11.4.9  特征的子类 399
11.5  切换到服务场景 405
11.6  运行应用程序 405
11.7  小结 406
第12章  构建与Raspberry Pi交互的应用程序 407
12.1  关于Raspberry Pi 407
12.2  Raspberry Pi上的控制界面 408
12.3  设置Raspberry Pi 409
12.3.1  选择脚本语言 410
12.3.2  配置I2C 410
12.3.3  配置GPIO 414
12.3.4  安装PyGlow 414
12.4  提供用于控制设备的API 415
12.4.1  安装Flask 415
12.4.2  Hello World演示程序 416
12.4.3  构建一个非常简单的侦听器守护程序 417
12.5  为应用程序创建iOS项目 419
12.5.1  允许传出HTTP调用 419
12.5.2  视图控制器 420
12.5.3  日志库 423
12.5.4  API客户端库 425
12.6  小结 438
第5篇  安全物联网
第13章  使用钥匙串服务保护数据 441
13.1  关于iOS设备上的硬件安全 443
13.2  保护文件数据 444
13.3  关于Apple钥匙串 446
13.3.1  Apple钥匙串服务 446
13.3.2  钥匙串项目的组成 447
13.3.3  实现用于存储密码的钥匙串服务 447
13.3.4  从钥匙串服务中检索数据 448
13.3.5  删除钥匙串服务的记录 449
13.3.6  设置应用程序以测试钥匙串服务 451
13.3.7  视图控制器 451
13.4  小结 457
第14章  使用Touch ID进行本地身份验证 459
14.1  关于Touch ID 459
14.1.1  LocalAuthentication用例 460
14.1.2  构建Touch ID应用程序 460
14.2  创建项目 461
14.3  建立界面 462
14.4  实现UITableView方法 465
14.5  集成Touch ID以进行指纹认证 467
14.5.1  评估身份验证策略 467
14.5.2  无须钥匙串服务的Touch ID身份验证 467
14.5.3  自定义的身份验证后备计划 469
14.5.4  运行应用程序 470
14.6  注意事项 470
14.7  小结 471
第15章  使用Apple Pay接收付款 473
15.1  Apple Pay与其他支付系统比较 473
15.1.1  使用Apple Pay的先决条件 474
15.1.2  使用Apple Pay接收支付 475
15.1.3  为Apple Pay配置环境 482
15.1.4  使用Stripe实现Apple Pay支付 492
15.1.5  View Controller代码 498
15.2  小结 501

本目录推荐