Как показать местоположение пользователя, когда пользователь не нажимает в следующий раз?

В моем приложении я хочу показать местоположение пользователя в одном из моих UIViewController который использует MKMapKit. Так что, когда пользователь выбирает этот View Controller, его спросят, разрешать или не разрешать. Если пользователь выбирает "разрешить", то все в порядке. Если он выбирает "не разрешать", то пользователю никогда больше не предлагается разрешать или нет.

На самом деле, я хочу, чтобы, когда пользователи выбирают, не разрешают в первый раз, когда они используют мое приложение, их нужно попросить выбрать снова, чтобы разрешить или не разрешить в следующий раз, когда они используют приложение. Так как же мне этого добиться? Когда пользователь выбирает разрешить для выбранного времени (первый раз, когда он нажал, не разрешено), тогда мое приложение покажет местоположение пользователя.

Даже в каком-то SO вопросе многие предложили, что пользователь будет повышен, чтобы разрешать или не разрешать оповещение всякий раз, когда они открывают приложение. Но для меня его спрашивают об использовании приложения в первый раз.

Пожалуйста, поделитесь своими идеями. Спасибо.

1 ответ

Решение

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

Цитирование из документации Apple ( находится здесь)

Рекомендуется всегда вызывать метод класса locationServicesEnabled класса CLLocationManager, прежде чем пытаться запустить стандартные службы определения местоположения или службы существенных изменений. (В iOS 3.x и более ранних версиях проверьте значение свойства locationServicesEnabled.) Если этот метод класса возвращает YES, вы можете запускать службы определения местоположения, как и планировалось. Если он возвращает NO, и вы все равно пытаетесь запустить службы определения местоположения, система предлагает пользователю подтвердить, следует ли снова включить службы определения местоположения. Учитывая, что службы определения местоположения с большой вероятностью могут быть намеренно отключены, пользователь может не приветствовать это приглашение.

Другие вопросы по тегам