2014-10-08 4 views
0

Я пытался использовать авторизацию Apple HealthKit для авторизации в настройках моего приложения, чтобы пользователь мог переключать свою информацию вкл/выкл для совместного использования. Он автоматически выведет экран авторизации. Однако, похоже, это делается только один раз, а затем никогда больше. По крайней мере, до 24 часов позже, возможно, там, где это будет запрашиваться снова, если потребуется.HealthKit requestAuthorizationToShareTypes один раз в день?

Должен ли он использоваться аналогично запросам PushMessage, когда пользователь запрашивается один раз, а затем никогда не запрашивается снова с одного и того же запроса?

Я скептически отношусь к этому модальному приглашению в начальной загрузке приложения, поскольку он довольно навязчив, как полноэкранный модальный; даже если вызывается только один раз.

+1

afaik, методы 'requestAuthorization *' не запрашивают, если вы уже получили авторизацию. Если у вас возникнет вопрос о том, что он запрашивает пользователя даже после предварительного предоставления авторизации, вы должны вызвать 'authorizationStatusForType:' сначала, чтобы определить, что у вас нет авторизации перед запросом. –

ответ

0

В принципе пользователь должен увидеть его один раз (например, при запросе разрешения push-уведомлений или доступа к контактам).

Я выяснил, что для каждого типа данных, который вы хотите использовать с помощью приложения «Здоровье» (или чтения), вы получили один снимок с помощью модального приглашения. Это приглашение может быть немного утомительным для пользователя, так как оно показывает все типы, в которых ваше приложение запрашивает разрешения (как чтение, так и запись), и я предполагаю, что именно поэтому Apple заявила, что наилучшая практика HealthKit заключается в том, чтобы спросить все разрешения, необходимые вашему приложению в то же время (хотя некоторые могут спорить с этим в отношении UX).

Если вы хотите проигнорировать предложения Apple в этой передовой практике, вы можете запросить разрешения на чтение и запись для каждого типа данных отдельно. Это приведет к тому, что запрос будет запрашивать этот модальный лист каждый раз, когда вы запрашиваете разрешения для другого типа.

В нижней строке этот лист разрешений подразумевается (от Apple), который будет отображаться пользователю один раз. Вы можете найти способ передать это ограничение (но за определенное количество раз - зависит от количества доступных типов данных), но я не буду рекомендовать в обход рекомендаций Apple (это никогда не рекомендуется).

0

Удовлетворенность заключается в изменении типов Share/write в вашей авторизации, это потребует, чтобы пользователь снова посмотрел на него, поэтому каждый раз его всплывали.

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