ios: cómo obtener la distancia total de HKWorkout

CorePress2024-01-25  12

En este momento estoy trabajando en una aplicación en ejecución para iPhone.

Uno de los problemas que tengo es que estoy creando HKWorkout utilizando HKWorkoutBuilder de acuerdo con la documentación de Apple.

Pero no puedo asociar la distancia total con el entrenamiento, mencionado aquí en la documentación. totalDistance es nulo cuando intento leerlo del entrenamiento; no es de extrañar porque no lo configuré. Según tengo entendido, HKWorkoutBuilder no proporciona ninguna forma de agregar la Distancia total.

Creo que me pierdo algo aquí.

Lo agregas almuestra de entrenamiento que usted proporciona: desarrollador.apple.com/documentation/healthkit/hkworkout

- Paulw11

27/03/2021 a las 23:55

Mira Crear un entrenamiento en la documentación

- lorem ipsum

28 de marzo de 2021 a las 0:47

@Paulw11 esa no es la forma en que construyo los entrenamientos (con HKWorkoutBuilder). Vea mis enlaces arriba. @loremipsum si eso es lo que hago. Pero no hay forma de guardar el atributo TotalDistance en el entrenamiento. No puedo imaginar que así sea como se supone que debe ser, para resumir todas las ubicaciones de la ruta. Incluso en la aplicación Salud hay un extraño espacio en blanco en cada entrenamiento, donde creo que debería mostrarse la distancia.

-gustav

29/03/2021 a las 12:38

Es su responsabilidad realizar un seguimiento de la distancia total mientras se ejecuta el entrenamiento, por ejemplo, acumulando la distancia entre las actualizaciones de ubicación que agregala ruta. Luego proporcionas esta distancia cuando creas el HKWorkout como dije anteriormente. La ruta que ha creado se asocia con este entrenamiento y la guarda en la tienda HealthKit.

- Paulw11

29/03/2021 a las 19:56

1

No revisaste los enlaces que proporcioné. El HKWorkout no lo creo yo, pero el HKWorkoutBuilder no hay forma de agregar la distancia manualmente ;-)

-gustav

30 de marzo de 2021 a las 13:37



------------------------------------

Agregue sus muestras de distancia a HKWorkoutBuilder usando su método addSamples. La distancia total se calculará según las muestras que agregue. por ejemplo, puede agregar muestras del tipo HKQuantityTypeIdentifierDistanceWalkingRunning al entrenamiento y debería completar totalDistance.

1

Curiosamente, puedo ver la entrada en la aplicación de salud en la vista detallada del entrenamiento... (caminar distancia correr) pero no puedo accedera través de HKWorkout.totalDistance. Incluso en la aplicación de salud muestra un espacio en blanco en la descripción general. Me pierdo algo aquí...

-gustav

30 de marzo de 2021 a las 19:58



------------------------------------

Me acabo de dar cuenta de que no estaba agregando las muestras de distancia con un controlador de finalización y no esperé a que se completara hasta que llamé a FinishWorkout() en el constructor. Creo que eso arruinó el entrenamiento de alguna manera.

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare