2017-06-25 5 views
2

Je travaille actuellement dans une application de soins de santé, qui nécessite de suivre le nombre de pas de l'utilisateur pendant qu'ils marchent en tenant leur téléphone. J'ai fait usage de CoreMotion cadre et CMPedometer pour suivre le nombre de pas et cela fonctionne bien. Cependant, la fonction de rappel n'appelle pas chaque compte de pas. Il regroupe toutes les données et renvoie le nombre de pas en 10 étapes (par exemple) dans l'ensemble. Pour être précis,Comment obtenir des données CMPedometer dans Step by Step count?

startUpdates(from start: Date, withHandler handler: @escaping CMPedometerHandler)

n'est pas appelé pour chaque pas compte (pour StepCount 1, 2 StepCount, etc.). Il enchaîne les données et n'est appelé qu'une seule fois en ajoutant le nombre total de pas.

Existe-t-il un moyen d'appeler la méthode pour chaque étape de marche?

Répondre

0

Utilisez startPedometerEventUpdatesWithHandler:

code:

[self.pedometer startPedometerEventUpdatesWithHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) { 
     // this block is called for each live update 
    }]; 
+0

J'ai essayé d'utiliser 'startPedometerEventUpdatesWithHandler' et il ne sera jamais appelé, (Est-ce que l'appel de fonction de rappel pour chaque étape compter comme, quand je marche pour.? une étape, montrera-t-elle l'étape 1, et encore quand je marche une autre étape, appellera-t-elle l'étape 2, et ainsi de suite? – Vincent

+0

Je ne sais pas pourquoi il n'est pas appelé J'ai trouvé https://stackoverflow.com/questions/ 36439912/live-updates-with-cmpedometer-coremotion fait de différentes façons pour y parvenir. –