Получать уведомления при изменении разрешения местоположения в родной настройке iOS - PullRequest
0 голосов
/ 20 марта 2019

Могу ли я зарегистрировать свое приложение Swift в уведомлении ОС об изменении разрешения местоположения?

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

Что-то вроде ABAddressBookRef ntificationaddressbook = ABAddressBookCreate(); ABAddressBookRegisterExternalChangeCallback(ntificationaddressbook, MyAddressBookExternalChangeCallback, self);

1 Ответ

0 голосов
/ 20 марта 2019

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

let status = CLLocationManager.authorizationStatus()
switch status {
    case .authorizedAlways:
        print("authorizedAlways")
    case .authorizedWhenInUse:
        print("authorizedWhenInUse")
    case .denied:
        print("denied")
    case .notDetermined:
        print("notDetermined")
    case .restricted:
        print("restricted")
}

И, как упомянул А.Мюнцер, упомянутое в комментарии, приложение прекратит работу, когда вы измените настройку из Настройки приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...