2016-06-28 3 views
8

Я могу проверить, разрешил ли пользователь данные о пригодности с использованием -[CMMotionActivityManager queryActivityStartingFromDate:toDate:toQueue:withHandler:] и отметьте ошибку (CMErrorNotAuthorized или CMErrorMotionActivityNotAuthorized) в обработчике.Как получать уведомления, когда пользователь отказывает в данных о пригодности?

Если пользователь переходит в Настройки конфиденциальности и отрицает мое приложение, приложение убито, и когда я его перезагружаю, все работает нормально.

Если пользователь переходит в Настройки конфиденциальности и запрещает данные о физической нагрузке глобально, приложение не будет убито, а проверка с использованием метода выше не сообщит об ошибке!

У меня есть цель iOS 8, поэтому я не могу использовать +[CMSensorRecorder isAuthorizedForRecording].

У вас есть надежный способ решения этой проблемы? Это довольно раздражает, чтобы иметь хороший API для авторизации местоположения, но не для этого!

+0

Когда вы отклоняете данные о пригодности во всем мире, обработчик завершения просто возвращает 'nil'? – JAL

+0

Нет, он возвращает данные ... Если я не убью приложение и не перезапустил его, в этом случае он правильно сообщит об ошибке. – nverinaud

ответ

0

Соответственно Apple's docs, + (BOOL) isAuthorizedForRecording доступен только в iOS 9.0 и более поздних версиях, поэтому вы не можете использовать его на iOS8.

+0

Yup, я знаю, что я не могу использовать этот API :-( – nverinaud

Смежные вопросы