2015-11-25 4 views
0

При первом загрузке моего контроллера представления пользователю предлагается со встроенным сообщением о разрешении iOS: «Разрешить« имя приложения »для доступа к вашему местоположению во время использования приложения?»Обработка встроенных диалогов прав iOS

Есть ли способ приостановить приложение до тех пор, пока пользователь не выберет «Не разрешать или запрещать»?

После того, как пользователь выбирает Разрешить или Dont Разрешить, я могу справиться с этим, проверив значение, как так:

//INSIDE OF ViewDidAppear 

if(authstate != CLAuthorizationStatus.Denied) 
{ 
// do something 
} 
else if (authstate == CLAuthorizationStatus.AuthorizedWhenInUse) 
{ 
    // do something 
} 

Сейчас шаги кода через если заявление, даже если диалоговое окно IOS разрешений по-прежнему показывает на экран. Поэтому я хочу приостановить его, пока пользователь не выберет Allow или Dont Allow. Затем, после того как пользователь выберет «Разрешить» или «Разрешить», перейдите к оператору if

ответ

1

no. запрос разрешения выполняется асинхронно. вы должны реализовать метод CLLocationManagerDelegate ь

func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) { 
    // check the status 
} 

, который вызывается после того, как пользователь ответил на диалог разрешения.

+0

То, что мне было нужно, спасибо – SlopTonio

+0

приветствую :) –

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