diff --git a/RCTAppleHealthKit/RCTAppleHealthKit+Methods_Workout.m b/RCTAppleHealthKit/RCTAppleHealthKit+Methods_Workout.m index c1c4f425..3cda9a95 100644 --- a/RCTAppleHealthKit/RCTAppleHealthKit+Methods_Workout.m +++ b/RCTAppleHealthKit/RCTAppleHealthKit+Methods_Workout.m @@ -130,10 +130,17 @@ - (void)workout_save: (NSDictionary *)input callback: (RCTResponseSenderBlock)ca NSTimeInterval duration = [RCTAppleHealthKit doubleFromOptions:input key:@"duration" withDefault:(NSTimeInterval)0]; HKQuantity *totalEnergyBurned = [RCTAppleHealthKit hkQuantityFromOptions:input valueKey:@"energyBurned" unitKey:@"energyBurnedUnit"]; HKQuantity *totalDistance = [RCTAppleHealthKit hkQuantityFromOptions:input valueKey:@"distance" unitKey:@"distanceUnit"]; - + NSString *workoutBrandName = [RCTAppleHealthKit stringFromOptions:input key:@"workoutBrandName" withDefault:nil]; + + NSDictionary *metadata = nil; + if (workoutBrandName) { + metadata = @{ + HKMetadataKeyWorkoutBrandName: workoutBrandName + }; + } HKWorkout *workout = [ - HKWorkout workoutWithActivityType:type startDate:startDate endDate:endDate workoutEvents:nil totalEnergyBurned:totalEnergyBurned totalDistance:totalDistance metadata: nil + HKWorkout workoutWithActivityType:type startDate:startDate endDate:endDate workoutEvents:nil totalEnergyBurned:totalEnergyBurned totalDistance:totalDistance metadata: metadata ]; void (^completion)(BOOL success, NSError *error); diff --git a/docs/saveWorkout.md b/docs/saveWorkout.md index fa236f55..6b400a9f 100644 --- a/docs/saveWorkout.md +++ b/docs/saveWorkout.md @@ -14,7 +14,8 @@ let options = { energyBurned: 50, // In Energy burned unit, energyBurnedUnit: 'calorie', distance: 50, // In Distance unit - distanceUnit: 'meter' + distanceUnit: 'meter', + workoutBrandName: "Afternoon Workout" } ``` diff --git a/index.d.ts b/index.d.ts index 0cf0e280..dafa1c15 100644 --- a/index.d.ts +++ b/index.d.ts @@ -592,6 +592,7 @@ declare module 'react-native-health' { export interface HealthActivityOptions extends Omit, 'value'> { type: HealthActivity + workoutBrandName?: string } export interface HealthObserverOptions {