iOS8在iPad Air上使用HealthKit时如何修复“此设备上的健康数据不可用”
Posted
技术标签:
【中文标题】iOS8在iPad Air上使用HealthKit时如何修复“此设备上的健康数据不可用”【英文标题】:iOS8 how to fix "Health data is unavailable on this device" when using HealthKit on iPad Air 【发布时间】:2014-07-17 18:46:22 【问题描述】:我正在尝试运行 WWDC 2014 中的“Fit”示例来查看 HealthKit。我正在使用更新到 ios8 beta3 的 iPad air。但是,当输入任何信息时,应用程序会因错误而崩溃:
Error Domain=com.apple.healthkit Code=1 "Health data is unavailable on this device"
这是产生错误的方法示例
- (void)saveHeightIntoHealthStore:(double)height
// Save the user's height into HealthKit.
HKUnit *inchUnit = [HKUnit inchUnit];
HKQuantity *heightQuantity = [HKQuantity quantityWithUnit:inchUnit doubleValue:height];
HKQuantityType *heightType = [HKQuantityType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeight];
NSDate *now = [NSDate date];
HKQuantitySample *heightSample = [HKQuantitySample quantitySampleWithType:heightType quantity:heightQuantity startDate:now endDate:now];
[self.healthStore saveObject:heightSample withCompletion:^(BOOL success, NSError *error)
if (!success)
//Error reported here
NSLog(@"An error occured saving the height sample %@. In your app, try to handle this gracefully. The error was: %@.", heightSample, error);
abort();
[self updateUsersHeight];
];
【问题讨论】:
【参考方案1】:HealthKit 在 iPad 上不可用,仅在 iPhone 和 iPod 上可用 - 就像 Passbook。
【讨论】:
来源?请漂亮 来自 HKHealthStore.h 标头:并非所有 iOS 设备都支持 HealthKit。在不受支持的设备上使用 HKHealthStore API 将导致 HKErrorHealthDataUnavailable 代码出错。在尝试使用框架的其他部分之前调用 isHealthDataAvailable。以上是关于iOS8在iPad Air上使用HealthKit时如何修复“此设备上的健康数据不可用”的主要内容,如果未能解决你的问题,请参考以下文章
图像未在 iPad Air、iPad 3 等较新的 iPad 设备上显示,但在模拟器 iOS 8.1 上显示
iOS8 应用程序使用 HealthKit 在 Xcode6.0.1 上崩溃