Определите, предоставил ли пользователь доступ к разрешению «Движение и фитнес» в моем приложении iOS

Я создаю приложение для iPhone (9.0.2) на XCode 7.0. Мне было интересно, как лучше всего определить, предоставил ли пользователь доступ к разрешению Motion and Fitness из моего приложения.

В основном я работаю с классом CMMotionActivityManager. Существует свойство с именем + isActivityAvailable, но оно возвращает значение true, даже если для разрешения Motion and Fitness установлено значение false.

Спасибо!


person Eugene    schedule 08.10.2015    source источник


Ответы (1)


Согласно документации Apple, [CMMotionActivityManager isActivityAvailable] возвращает логическое значение, указывающее, поддерживает ли текущее устройство данные о движении, нет, если пользователь дал приложению разрешение на их использование.

Что касается разрешений, единственный способ проверить, дал ли пользователь разрешение, — это обработка ошибок. Когда метод, который вы вызываете, требует разрешений, но приложение не авторизовано пользователем, будет выдан код ошибки CMErrorMotionActivityNotAuthorized.

Оттуда вы можете зафиксировать эту ошибку и предложить пользователю предоставить разрешения этому приложению. Пример от Apple проект (Swift) делает это.

person dennykim    schedule 08.10.2015