2016-06-28 2 views
8

Je peux vérifier si l'utilisateur a autorisé données de remise en forme en utilisant -[CMMotionActivityManager queryActivityStartingFromDate:toDate:toQueue:withHandler:] et de vérifier une erreur (CMErrorNotAuthorized ou CMErrorMotionActivityNotAuthorized) dans le gestionnaire.Comment être informé lorsque l'utilisateur refuse les données de fitness?

Si l'utilisateur va aux paramètres de confidentialité et refuser mon application, l'application est tuée et quand je le relance, tout fonctionne bien.

Si l'utilisateur va aux paramètres de confidentialité et refuser les données de forme physique globalement, l'application n'est pas tuée et la vérification en utilisant la méthode ci-dessus ne signale aucune erreur!

Je dois cibler iOS 8 donc je ne peux pas utiliser +[CMSensorRecorder isAuthorizedForRecording].

Avez-vous une manière fiable de résoudre ce problème? Il est tout à fait ennuyeux d'avoir une belle API pour l'autorisation de localisation, mais pas pour celui-ci!

+0

Lorsque vous refusez globalement des données de remise en forme, le gestionnaire de complétion renvoie-t-il simplement «nil»? – JAL

+0

Non, il retourne les données ... Sauf si je tue l'application et la relance, dans ce cas, il signale l'erreur correctement. – nverinaud

Répondre

0

Conformément à Apple's docs, + (BOOL) isAuthorizedForRecording n'est disponible que sur iOS 9.0 et versions ultérieures, donc vous ne pouvez pas l'utiliser sur iOS8.

+0

Yup, je sais que je ne peux pas utiliser cette API :-( – nverinaud