iOS8苹果手机健康数据来源源,苹果iPhone6健康来源怎么选择

苹果iOS8系统中的健康数据怎么删除?
互联网 & 发布时间: 09:16:48 & 作者:佚名 &
iOS8健康数据怎么删除?iPhone5s 或 iPhone6的 iOS8 系统中新增了一个“健康”应用,系统会在后台自动记录走路或跑步的数据。有的小伙伴可能不想让这些数据显示在健康应用里,想要删除,下面分享删除的教程
苹果当前最新的 iOS8 系统中新增了一个&健康&应用,对于像 iPhone5s 或 iPhone6 这样的机型,系统会在后台自动记录走路或跑步的数据。有的小伙伴可能不想让这些数据显示在健康应用里,想要删除。这里简单介绍下怎么在 iOS8 里删除健康数据的操作方法。
1、打开&健康&应用以后,点击你想要删除的健康数据,这里以删除我的步数为例。
2、接着在步数的详细设置界面中,请点击&显示所有数据&一栏,如图所示
3、随后会显示我们当前所有的步数的数据,点击右上角的&编辑&按钮继续。
4、如果你想要删除单条数据的话,可以先点击数据一栏左侧的&减号&图标。
5、随后我们再点击&删除&按钮,即可删除了。
6、如果你想删除所有的数据,请点击左上角的&全部清除&选项,如图所示
7、最后再点击底部的&全部删除&按钮就可以把当前这个项目里的所有数据删除 了。
8、如果你还想删除更多的健康数据,也是同样的操作方法。
大家感兴趣的内容
12345678910
最近更新的内容您需要通过验证再能继续浏览 3秒后开始验证
丨 粤ICP备号-10 丨 新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!
(C) Joyslink Inc. All rights reserved 保留所有权利当前位置:
教你将小米手环数据导入iOS8健康应用中
编辑:半青
来源:网络
  iOS8健康支持哪些配件了,相信大家首先就会想一些专门为iOS系统而做的配件,其实,主要针对的小米手环也是能够支持iOS8的。小米手环怎么连接iPhone手机的健康应用?来看具体操作方法吧。
  当前 iPhone 版小米手环最新的应用支持苹果的 Healthkit 平台,也就是说在小米手环上搜集到的数据可以被分享到苹果的健康应用平台上。
  1.首先你需要确认当前小米手环应用是否为最新版本,如下图所示
   2.当更新到小米手环最新版本以后,接下来打开应用时,会让我们选择要与 iPhone 健康共享数据的项目,可以根据自己的需要来选择。可以选择如步数、距离、睡眠分析等数据。
  3、另外,在系统的设置里也可以单独进行设置,先请打开屏幕上的&设置&应用,如图所示
  4、在设置列表里找到&隐私&一栏,点进进入。
  5、接着在隐私列表里,点击打开&健康&栏目,如图所示
  6、随后即可看到&小米手环&一栏,点击进入。
  7、如下图所示,我这里把能够选择的,全都勾选上了。
  8、接下来我们打开屏幕上的&健康&应用,点击底部的&健康数据&栏目。
  9、随后我们点击&健身数据&一栏,如下图所示
  10、在健身数据列表里,对于步数和距离,小米手环都是支持的,这里以步数为例。
  11、随后在频数里,就应该可以看到当前显示小米手环上记录的步数了。点击&共享数据&选项,可以查看数据的来。
  12、接下来即可看到小米手环已经出现在了步数的数据源列表里,说明它可以为健康应用提供相应的数据显示。
  13、对于像 iPhone4s、iPhonen5、iPhone5c 这些自身没有协处理器的手机,完全就可以用小米手环来提供步数、距离、以及睡眠分析的数据监测。
你可能还对一下内容感兴趣
【上一篇】
【下一篇】
推荐阅读:
看完这篇文章有何感觉?
PP助手准备为您下载应用
未越狱版:鳄鱼小顽皮爱洗澡
如果在10秒后下载任务还没有开始,请下载并安装:
下载步骤如下:&>&&>&&>&&>&正文
  在最新的iOS8系统中有一个“健康应用”的应用,点击图标进入的默认界面是“图表汇总”,不过有很多初次接触的用户们不太清楚怎么使用,所以今天小编就来和大家分享下iPhone6健康应用怎么使用,有需要的朋友们可以通过本文来参考下。
【iPhone6健康应用怎么使用】
  1、点击界面下方的“健康数据”项,再点“健身数据”分类,即可看到其中可以记录的项目。
  2、当点击某一个记录项进入,即可看到iPhone5S设备自动为我们记录的图表数据信息,要想让其默认显示到软件启动时的图表汇总界面,只要打开下面的“在图表汇总显示”开关即可。
iPhone中文网()
提示:支持键盘“← →”键翻页&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
iOS开发-关于苹果健康数据的获取
摘要:关于iOS10的报错Terminatingappduetouncaughtexception'NSInvalidArgumentException',reason:'NSHealthUpdateUsageDescriptionmustbesetintheapp'sInfo.plistinordertorequestwriteauthorization.'处理方法:在Info.plist文件中添加关键字NSHealthShareUsageDescription和NSHealth
关于iOS10的报错
Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'NSHealthUpdateUsageDescription must be set in the app's Info.plist
in order to request write authorization.'
处理方法:在Info.plist文件中添加关键字NSHealthShareUsageDescription和NSHealthUpdateUsageDescription,写入和读取都需要。iOS10对于涉及用户隐私的很多数据获取都添加了类似的设置,可根据提示在plist文件中添加相应的权限字段。
在苹果的 iOS8 系统中自带了健康应用,可以记录我们在一天当中的运动数据,比如走了多少步,一天走了或跑了多少公里等。还可以接入硬件设备以写入运动数据,HealthKit框架为苹果为采集各种健康数据源提供的接口,可以用来采集和整合各种健康数据的来源,如运动手环,AppleWatch,以及iPhone设备提供的健康数据。这里简单介绍下如何获取苹果健康的数据。实现流程:一、在工程中添加HealthKit库。二、创建模型(或在其他模型中添加#import),添加HKHealthStore属性,HKHealthStore是使用HealthKit中关键的一个类。三、创建调用方法,在方法实现中主要要做的有3步:
1、判断设备是否支持HealthKit框架
2、请求苹果健康的认证
3、获取苹果健康的数据
*// 方法代码
- (void)getIphoneHealthData{
self.healthSteps = [NSMutableArray array];
self.healthDistances = [NSMutableArray array];
self.healthCalories = [NSMutableArray array];
NSSet *getD
// 1.判断设备是否支持HealthKit框架
if ([HKHealthStore isHealthDataAvailable]) {
getData = [self getData];
NSLog(@&---------不支持 HealthKit 框架&);
store = [[HKHealthStore alloc] init];
// 2.请求苹果健康的认证
[store requestAuthorizationToShareTypes:nil readTypes:getData completion:^(BOOL success, NSError * _Nullable error) {
if (!success) {
NSLog(@&--------请求苹果健康认证失败&);
dispatch_async(dispatch_get_main_queue(), ^{
// 3.获取苹果健康数据
[self getHealthStepData];
[self getHealthDistanceData];
在第一步判断设备支持HealthKit框架后,设置好要获取的数据类型,笔者此处获取的是步数,距离数据。
*// getData方法
- (NSSet *)getData{
HKQuantityType *step = [HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount];
HKQuantityType *distance = [HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierDistanceWalkingRunning];
return [NSSet setWithObjects:step,distance, nil];
第二步请求苹果健康的认证,此处用到HKHealthStore属性,实例化属性后调用认证方法,注意方法中的参数ShareTypes 和 readTypes,一个是认证写入类型,一个是认证读取类型,认证成功后开始最重要的第三步,获取数据,此处为异步执行。
在获取数据的方法中时间的设置是比较麻烦的,不过都是一样的;HKQuantityType实例对象用于设置要获取的数据类型,NSPredicate实例对象用于设置获取数据的时间段,HKStatisticsCollectionQuery实例对象用于获取数据,在获取的数据结果中需要把每一条数据遍历出来,可以做一些需要的格式的处理。
- (void)getHealthStepData{
HKHealthStore *healthStore = [[HKHealthStore alloc]init];
NSCalendar *calendar = [NSCalendar currentCalendar];
// 设置时间支持单位
NSDateComponents *anchorComponents =
[calendar components:NSCalendarUnitDay | NSCalendarUnitMonth |
NSCalendarUnitYear | NSCalendarUnitWeekday fromDate:[NSDate date]];
NSDate *anchorDate = [calendar dateFromComponents:anchorComponents];
// 获取数据的截止时间 今天
NSDate *endDate = [NSDate date];
// 获取数据的起始时间 此处取从今日往前推100天的数据
NSDate *startDate = [NSDate dateWithTimeIntervalSinceNow:-100*24*60*60];
// 数据类型
HKQuantityType *type = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierStepCount];
// Your interval: sum by hour
NSDateComponents *intervalComponents = [[NSDateComponents alloc] init];
intervalComponents.day = 1;
// Example predicate 用于获取设置时间段内的数据
NSPredicate *predicate = [HKQuery predicateForSamplesWithStartDate:startDate endDate:endDate options:HKQueryOptionStrictStartDate];
HKStatisticsCollectionQuery *query = [[HKStatisticsCollectionQuery alloc] initWithQuantityType:type quantitySamplePredicate:predicate options:HKStatisticsOptionCumulativeSum anchorDate:anchorDate intervalComponents:intervalComponents];
query.initialResultsHandler = ^(HKStatisticsCollectionQuery *query, HKStatisticsCollection *result, NSError *error) {
for (HKStatistics *sample in [result statistics]) {
// NSLog(@&--------------%@ 至 %@ : %@&, sample.startDate, sample.endDate, sample.sumQuantity);
NSDate *date = sample.endD
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@&yyyy-MM-dd&];
NSString *dateTime = [formatter stringFromDate:date];
double totalStep = [sample.sumQuantity doubleValueForUnit:[HKUnit countUnit]];
NSString *value = [NSString stringWithFormat:@&%f&,totalStep];
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
dateTime,@&dateTime&,
value,@&value&,nil];
[self.healthSteps addObject:dic];
// NSLog(@&gaizaoDateStyle:%@ Dic = %@&,self.healthSteps,dic);
self.healthCalories = self.healthS
NSDictionary *healthSteps = [NSDictionary dictionaryWithObjectsAndKeys:
self.healthSteps,@&healthSteps&,
self.healthCalories,@&healthCalories&,nil];
NSLog(@&改造数据格式:%@&,healthSteps);
[healthStore executeQuery:query];
由于苹果健康应用中,用户可以自己手动添加数据,所以为了获取数据的准确性,像微信运动会把这些数据过滤掉,那么如何过滤呢?
在获取的数据结果中,每一条结果都有数据来源属性,打印HKStatistics实例对象的sources属性就可以看到数据的所有来源(因为此处获取的是一天的数据,一天内的数据来源都会被打印出来),如果有收到添加的数据,可以在打印结果中看到com.apple.Health数据源,我们要过滤的就是它。
接下来就是用获取的数据总数把手动添加的数据减掉,结果就是我们想要获取的准确的数据。
*// 粘贴代码
double totalStep = [sample.sumQuantity doubleValueForUnit:[HKUnit countUnit]];
NSString *appleHealth = @&com.apple.Health&;
double editStep = 0.0;
for (HKSource *source in sample.sources) {
if ([source.bundleIdentifier isEqualToString:appleHealth]) {
// 获取用户自己添加的数据 并减去,防止用户手动刷数据
HKSource *healthSource =
editStep = [[sample sumQuantityForSource:healthSource] doubleValueForUnit:[HKUnit countUnit]];
NSInteger step = (NSInteger)totalStep - (NSInteger)editS
NSString *value = [NSString stringWithFormat:@&%ld&,step];
最后是获取距离的方法,和前边类似。
- (void)getHealthDistanceData{
HKHealthStore *healthStore = [[HKHealthStore alloc]init];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *anchorComponents =
[calendar components:NSCalendarUnitDay | NSCalendarUnitMonth |
NSCalendarUnitYear | NSCalendarUnitWeekday fromDate:[NSDate date]];
NSDate *anchorDate = [calendar dateFromComponents:anchorComponents];
NSDate *endDate = [NSDate date];
NSDate *startDate = [NSDate dateWithTimeIntervalSinceNow:-100*24*60*60];
HKQuantityType *type = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierDistanceWalkingRunning];
// Your interval: sum by hour
NSDateComponents *intervalComponents = [[NSDateComponents alloc] init];
intervalComponents.day = 1;
// Example predicate
NSPredicate *predicate = [HKQuery predicateForSamplesWithStartDate:startDate endDate:endDate options:HKQueryOptionStrictStartDate];
HKStatisticsCollectionQuery *query = [[HKStatisticsCollectionQuery alloc] initWithQuantityType:type quantitySamplePredicate:predicate options:HKStatisticsOptionCumulativeSum anchorDate:anchorDate intervalComponents:intervalComponents];
query.initialResultsHandler = ^(HKStatisticsCollectionQuery *query, HKStatisticsCollection *result, NSError *error) {
for (HKStatistics *sample in [result statistics]) {
// NSLog(@&+++++++++++++++%@ 至 %@ : %@&, sample.startDate, sample.endDate, sample.sumQuantity);
NSDate *date = sample.endD
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@&yyyy-MM-dd&];
NSString *dateTime = [formatter stringFromDate:date];
double totalDistance = [sample.sumQuantity doubleValueForUnit:[HKUnit meterUnit]];
NSString *appleHealth = @&com.apple.Health&;
// double floor = [sample.sumQuantity doubleValueForUnit:[HKUnit yardUnit]];
double editDistance = 0.0;
for (HKSource *source in sample.sources) {
if ([source.bundleIdentifier isEqualToString:appleHealth]) {
// 获取用户自己添加的数据 并减去,防止用户手动刷数据
HKSource *healthSource =
editDistance = [[sample sumQuantityForSource:healthSource] doubleValueForUnit:[HKUnit meterUnit]];
double distance = totalDistance/1000 - editDistance/1000;
NSString *value = [NSString stringWithFormat:@&%f&,distance];
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
dateTime,@&dateTime&,
value,@&value&,nil];
[self.healthDistances addObject:dic];
NSLog(@&改造距离格式:%@&,self.healthDistances);
[healthStore executeQuery:query];
在打包时候需要打开HealthKit使用的开关,如图:
下午5.15.31.png
此外打包证书也需要勾选苹果健康选项,由于开发者账号划归别的部门负责了,所以没法截图了。。。
之前做了一个健康运动的APP,要把苹果健康的数据和fitbit手环的数据比较处理后做展示,结果发现请求fitbit的数据产生的起止时间段内如果有没数据的,比如步数,卡路里,等,会都返回0,还比较人性化。但是苹果健康就没这么友好了,如果没有数据那就是没有,根本不会给你0,比如号到号的数据中1月10号这天的数据被删了,那返回的数据就只有19条,10号这天的不会返回0,直接就没有这条数据。再或者本身开始使用苹果健康记录数据的时间就是从号开始的,那1月10号之前的数据就都没有,不会返回0给你。
demo地址 GitHub给个Star噢!喜欢就点个赞呗!欢迎大家提出更好的改进意见和建议,一起进步!
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
新用户大礼包!
现在注册,免费体验40+云产品,及域名优惠!
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
iOS开发-关于苹果健康数据的获取相关信息,包括
的信息,所有iOS开发-关于苹果健康数据的获取相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International

我要回帖

更多关于 iPhone添加新的数据来源 的文章

 

随机推荐