Health Kit教程(一)

本文是Health Kit的初步教程,适合Xcode 7.1 / Swift 2.0环境下进行。主要内容包括:获取Health Kit授权,读取用户特征如生日、血型、性别,以及读取和写入身高、体重等简单数据。通过本教程,你可以了解如何与Health Kit交互,实现健康数据的存取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:http://www.pluto-y.com/health-kit-totorial-1/

引言

Health Kit是在iOS8中才出现的一个新的特性,是用来提供存储和获取用户健康数据的一个苹果自带的数据中心。而本篇文章的核心就是提供一个Health Kit的教程性知识。而对于Health Kit的教程将用两篇文章的篇幅进行讲解。通过这两篇文章,小伙伴们将会学到关于Health Kit的一些基础使用。
而本片文章是在Xcode 7.1 / Swift 2.0的基础上进行开发的。

准备好开始Health Kit之旅了吗?那么开始吧!

开始

那么在开始之前,首先对本片文章所要叙述的内容进行大体介绍一下。本篇文章主要讲解一下几个知识点:
* 获取Health Kit 的授权
* 读取用户属性
* 读取或写入用户特性
鉴于编程的学习都是需要建立在编码的基础上,那么小伙伴都新建好新的Health Kit的项目了吗?如果准备好的话,那我们就继续往下走吧。

获取Health Kit的授权

授权之配置篇

在开始编程之前,我们肯定要对项目中关于获得Health Kit的授权进行一些基础的配置,保证我们之后在写代码过程中畅通无阻。
那么首先先填好Bundle Identifier以及选择好对应的Team,具体如下图
Bundle Identifier And Team
在这需要到target的General中填写好对应的渠道名以及选好对应的开发者
然后就是就是添加对应授权文件(即entitlement文件),其实不需要我们手动去添加,只需Capabilities中打开HealtKit的开关为On即可,然后稍等片刻后即可。如下图:
Add HealtKit Entitlement

注意:这里有一点强烈建议小伙伴们需要注意的一点就是,如果小伙伴的程序是兼容iOS 8一下或者需要支持iPad之类等不支持Health Kit的设备的话,需要到Info.plist文件中删除Required device capabilities下的healthkit的值,否则如果在iPad或者iOS7上安装不上,博主可是不负责的哟!

好了关于配置方面的,就到此为止了,接下来小伙伴就可以开始愉快的编程了。

授权之代码篇

在此之前,博主的Demo中是为HealthKit的操作添加了一个Util的工具类,命名为HealthKitUtil.swift。打开这个文件首先当然得import HealthKit了。然后关于Health Kit的数据处理都要用到HKHealthStore这个对象的,就如引言中所说的,Health Kit其实就是一个数据中心,主要用来存储和读取用户的健康信息。而HKHealthStore就像是一个数据库的数据库处理对象一样,所以在我们对Health Kit的数据进行操作的过程中都需要通过HKHealthStore的对象。所以在我们HealthKitUtil工具类里面就会存在一个其的属性。
那么接下来在获得Health Kit授权之前,我们首先得要知道我们对Health Kit的需要哪些读的权利以及哪些写的权利,毕竟我们有的时候是不需要对Health Kit的所有数据类型都进行操作的。例如对于一个智能秤相关的App可能只对体重,脂肪率以及BMI等一些跟身体相关的数据关心,而对于运动的一些数据则不进行关心。
而对于Health Kit的数据类型都是HKObjectType的子类,并且在HKObjectType中也提供了产生对应子类的方法,只需执行对应的方法即可获得对应的操作类型(如血型等)。具体方法如下:

+ (nullable HKQuantityType *)quantityTypeForIdentifier:(NSString *)identifier;
+ (nullable HKCategoryType *)categoryTypeForIdentifier:(NSString *)identifier;
+ (nullable HKCharacteristicType *)characteristicTypeForIdentifier:(NSString *)identifier;
+ (nullable HKCorrelationType *)correlationTypeForIdentifier:(NSString *)identifier;
+ (HKWorkoutType *)workoutType;

可以看得出来,大部分的操作类型都是通过一个叫identifier的来进行产生的,而具体包含了那些操作类型呢,其实可以通过Health Constant Reference来查看。从中找到你需要读和写的操作类型。然后调用HKHealthStore

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值