Tag: 健康套件

HealthKit – 我们可以先问一些权限,然后再问一些吗?

我们正在开发一个健身旅程应用程序,使用HealthKit从其他一些应用程序导入到我们自己的锻炼。 大多数用户只需要授予阅读权限。 但是,将来有些人可能会希望给我们的应用程序写权限,以将我们自己的信息添加到他们的健康应用程序。 是否有可能要求在两个步骤的权限? 目标是通过要求大量的信息来压倒用户。

从HealthKit监控心率 – >仅在applicationDidBecomeActive(BUG或FEATURE?)之后调用HKAnchoredObjectQuery

我正在写一个简单的应用程序来监视来自HealthKit的心率(HKQuantityTypeIdentifierHeartRate),无论何时将新的运行率值写入HealthKit。 正如在WWDC2015(会话203)中所见,我正在使用HKAnchoredObjectQuery ,它应该用于添加和删除对象。 每当我启动应用程序,我打电话给最新的对象和执行查询的HKQuery这工作正常! 但即使样本在那里,我也没有新的样本,但是如果我将应用程序带到背景中,并且再次到达前台,我将获得所有新的心率。 它是一个错误吗? 或者我应该怎么做才能监控心率,而不必将应用程序推到后台和前台呢? 这里是我使用的代码(一切都存储在AppDelegate中),我正在调用[self requestAccessDataTypes]; 来自didFinishLaunchingWithOptions : [healthStore enableBackgroundDeliveryForType:sampleType frequency:HKUpdateFrequencyImmediate withCompletion:^(BOOL success, NSError *error) {}]; HKQuery *query = [self createHeartRateStreamingQuery:datum]; if (query) { [healthStore executeQuery:query]; } else { NSLog(@"workout can not start"); } -(HKQuery*)createHeartRateStreamingQuery:(NSDate*)workoutStartDate { NSLog(@"%@ – createHeartRateStreamingQuery", [self class]); if ([HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate]) { HKQuantityType *quantityType = [HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate]; HKAnchoredObjectQuery * […]

心率与苹果的Healthkit

我目前在一个应用程序使用Healthkit,并没有问题获得大多数types的信息,但是心率有问题。 每次我尝试阅读一个样本时,结果都是“0”。 我有一个苹果手表,我的心率得到喂养苹果健康的应用程序,并可以在那里直观地看到它,所以这不是一个硬件问题。 我只需要显示它,不需要写回数据。 它允许我第一次运行允许访问心率,所以不应该有任何与该代码的问题,但我会发布它。 我可以find心率检测的大多数例子是在Swift中,我宁愿远离,或过时的蓝牙/相机方法。 这里是我正在使用的,它主要是从我的代码中的其他地方检索步骤,步行距离等代码复制和粘贴…所以我可能有一些在这个块不符合心率数据types,但我找不到它。 现在看起来,它会获得一天的平均心率,而不是最新的样本,这是现在罚款,只要我能看到一些types的数据被馈送到应用程序。 我无法find一个方法来轮询最新的心率样本,这导致我相信我完全使用了错误的方法,但找不到任何其他信息或样本。 我已经尝试了大约8种不同的在线示例代码/项目,其中没有一个能够产生“0”以外的任何结果(所以请不要链接到示例代码…我已经尝试了所有可用的代码…谷歌,GitHub,等等,所以任何链接可能会得到一个“我已经testing,同一个错误”的回应,哈哈)。 这是我现在使用的: 我99.9%肯定会给我的问题: – (void)queryHealthDataHeart{ HKQuantityType *typeHeart =[HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate]; NSDate *now = [NSDate date]; NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar]; NSDateComponents *components = [calendar components:NSCalendarUnitYear| NSCalendarUnitMonth | NSCalendarUnitDay fromDate:now]; NSDate *beginOfDay = [calendar dateFromComponents:components]; NSPredicate *predicate = [HKQuery predicateForSamplesWithStartDate:beginOfDay endDate:now options:HKQueryOptionStrictStartDate]; HKStatisticsQuery *squery = [[HKStatisticsQuery alloc] initWithQuantityType:typeHeart […]

iOS应用程序因为Healthkit而被拒绝

我在我的应用程序中使用HealthKit来阅读用户的每日步骤数据,并HealthKit在我的应用程序中启用HealthKit 。 我在info.plist上传了没有NSHealthShareUsageDescription和NSHealthUpdateUsageDescription项的应用程序。 苹果拒绝了应用程序如下,并说这两个关键必须在info.plist 。 NSHealthUpdateUsageDescription – 阅读您的日常步骤数据卡路里计数数据 NSHealthShareUsageDescription – 与应用程序共享锻炼数据。 我添加了该密钥并再次上传。 现在的应用程序因此而被拒绝。 devise – 4.2.1您的应用程序使用HealthKit或CareKit API,但不表示与应用程序中的Health应用程序集成。 任何想法我怎么能批准呢?