Я создаю небольшое тестовое приложение с HealthKit, пытаясь включить ручные тренировки в Activity Circles.WatchOS2 Health Kit - Добавление в действие Перемещение кольца
Мой код находится ниже скриншота.
Из изображения ниже 178 Cal Other Workout и 83 Cal Rower были созданы из приложения Watch Workout, которые показывают зеленый круг рядом с ними (чтобы указать, что они включены в круг).
3-я тренировка «188 Cal Outdoor Run» была создана из моего тестового приложения, но показывает значок приложения и нет зеленого кольца и не входит в круги?
Примечание: до обновления до iOS 9.0.1 не было ничего, где теперь отображается значок приложения.
Код:
HKQuantity *kCal = [HKQuantity quantityWithUnit:[HKUnit kilocalorieUnit] doubleValue:188];
HKQuantity *disance = [HKQuantity quantityWithUnit:[HKUnit meterUnit] doubleValue:2000];
NSDate *startDate = [NSDate dateWithTimeIntervalSinceNow:-3600];
NSDate *endDate = [NSDate dateWithTimeIntervalSinceNow:-60];
HKWorkout *workout = [HKWorkout workoutWithActivityType:HKWorkoutActivityTypeRunning startDate:startDate endDate:endDate duration:3540 totalEnergyBurned:kCal totalDistance:disance metadata:nil];
[self.healthStore saveObject:workout withCompletion:^(BOOL success, NSError * _Nullable error) {
HKQuantity *heartRateForInterval = [HKQuantity quantityWithUnit:[HKUnit unitFromString:@"count/min"] doubleValue:95.0];
HKQuantitySample *heartRateForIntervalSample = [HKQuantitySample quantitySampleWithType:[HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate]
quantity:heartRateForInterval
startDate:startDate
endDate:[NSDate dateWithTimeInterval:60 sinceDate:startDate]];
__weak typeof(self) weakSelf = self;
if(!success)
{
[self.statusLabel setText:[NSString stringWithFormat:@"saveObject: %@", error.localizedDescription]];
}
else
{
[self.statusLabel setText:[NSString stringWithFormat:@"Success"]];
[self.healthStore addSamples:@[heartRateForIntervalSample] toWorkout:workout completion:^(BOOL success, NSError * _Nullable error) {
if(success) {
[weakSelf.statusLabel setText:@"Saved - Added Sample"];
} else {
[weakSelf.statusLabel setText:[NSString stringWithFormat:@"addSamples: %@", error.localizedDescription]];
}
}];
}
}];
Поддерживает ли ваше приложение тренировку на часах или на компаньоне? – Allan
@Allan: Я сохраняю тренировку на Watch. – jodm
Прошлой ночью я добавил реальные образцы сердечного ритма из HKWorkoutSession и до сих пор не добавил к Move Ring. Я думал, что попробую это сделать, так как мои данные о частоте сердечных сокращений недостаточно точны. – jodm