Estoy usando el nuevo HKLiveWorkoutBuilder para crear un entrenamiento de Healthkit. Todo está bien, excepto que no puedo entender cómo darle al entrenamiento una distancia total. Agrego la muestra de distancia que funciona (aunque muestra la unidad dos veces en Salud, por ejemplo, 200 mi mi) pero al consultar el entrenamiento más tarde, no tiene una distancia total, e incluso en la función de los constructores de entrenamiento finishWorkout (), el entrenamiento no tiene una distancia total. ¿Alguien sabe cómo puedo obtener la distancia total en Live Workouts?

1
Myk 17 oct. 2018 a las 02:40

2 respuestas

La mejor respuesta

Parece que configurar el tipo de actividad en HKWorkoutConfiguration () es la respuesta. Estaba usando "otro" como tipo de actividad y, por alguna razón, el HKWorkout resultante no tiene una distancia total. Cambié el tipo de actividad a caminar y funciona bien.

0
Myk 22 oct. 2018 a las 22:50

No parece que HKLiveWorkoutBuilder creara un HKWorkout para usted, sino que solo le proporciona datos incrementales a medida que avanza la sesión de entrenamiento.

Dado que HKWorkout es inmutable, debe crear uno solo una vez que se recopilen todos sus datos. Luego, una vez que desee guardar el entrenamiento, puede volver a consultar todos los datos relevantes de la tienda Health o utilizar las muestras recopiladas en tiempo real.

Utilice HKQuantityTypeIdentifier para la "distancia recorrida", p. Ej. : https://developer.apple.com/documentation/healthkit/hkquantitytypeidentifier/1615230- caminar a distancia para consultar el valor antes de inicializar el HKWorkout.

1
TealShift 22 oct. 2018 a las 21:49