Я могу проверить, разрешил ли пользователь данные о пригодности с использованием -[CMMotionActivityManager queryActivityStartingFromDate:toDate:toQueue:withHandler:]
и отметьте ошибку (CMErrorNotAuthorized
или CMErrorMotionActivityNotAuthorized
) в обработчике.Как получать уведомления, когда пользователь отказывает в данных о пригодности?
Если пользователь переходит в Настройки конфиденциальности и отрицает мое приложение, приложение убито, и когда я его перезагружаю, все работает нормально.
Если пользователь переходит в Настройки конфиденциальности и запрещает данные о физической нагрузке глобально, приложение не будет убито, а проверка с использованием метода выше не сообщит об ошибке!
У меня есть цель iOS 8, поэтому я не могу использовать +[CMSensorRecorder isAuthorizedForRecording]
.
У вас есть надежный способ решения этой проблемы? Это довольно раздражает, чтобы иметь хороший API для авторизации местоположения, но не для этого!
Когда вы отклоняете данные о пригодности во всем мире, обработчик завершения просто возвращает 'nil'? – JAL
Нет, он возвращает данные ... Если я не убью приложение и не перезапустил его, в этом случае он правильно сообщит об ошибке. – nverinaud