我正在尝试将3位数的NSNumber记录为健康套件,作为PeakExpiratoryFlowRate,代码低于
- (void)PeakFlowupdate:(NSNumber *)pkFlow
{
NSString *identifier = HKQuantityTypeIdentifierPeakExpiratoryFlowRate;
HKQuantityType *peakFlowType = [HKObjectType quantityTypeForIdentifier:identifier];
HKQuantity *myPeakFlow = [HKQuantity quantityWithUnit:[HKUnit minuteUnit] doubleValue:[pkFlow doubleValue]];
HKQuantitySample *peakFlowSample = [HKQuantitySample quantitySampleWithType:peakFlowType quantity:myPeakFlow startDate:[NSDate date] endDate:[NSDate date]];
[healthStore saveObject:peakFlowSample withCompletion:^(BOOL success, NSError *error) {
if (success) {
NSLog(@"SAVED!");
} else {
NSLog(@"%@", error);
}
}];
}
但是,当我尝试将数据保存到运行状况工具包时,我收到此错误
由于未捕获的异常而终止应用 ' _HKObjectValidationFailureException',原因:' HKQuantitySample 250 min 2016-06-22 10:32:24 +1200 2016-06-22 10:32:24 +1200需要单位 类型的体积/时间。不兼容的单位:分钟
答案 0 :(得分:0)
如异常消息所述,您无法使用以分钟为单位指定的数量来实例化峰流量样本。峰值流量以体积/时间为单位测量,因此您需要使用[[HKUnit literUnit] unitDividedByUnit:[HKUnit minuteUnit]]
之类的东西。