Если вы разрабатываете для ios4.2 или новее , чем вы можете authorizationStatus
из CLLocationManager
класса.
Для этого вам нужно будет проверить переменную [CLLocationManager authorizationStatus]
, если еезначение kCLAuthorizationStatusNotDetermined
, тогда будет показано предупреждение.
В iOS 5 или более поздних версиях - это один из вариантов, с помощью которого можно сбросить предупреждение о местоположении в этом случае, а также статус будет kCLAuthorizationStatusNotDetermined
.Таким образом, если ваше приложение работает и пользователь переключается на настройку для сброса этого свойства, вам нужно будет внедрить следующий метод делегата CLLocationManagerDelegate
.
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
{
switch (status)
{
case kCLAuthorizationStatusNotDetermined:
//If this is the case than alert will be shown
break;
case kCLAuthorizationStatusDenied:
break;
case kCLAuthorizationStatusRestricted:
break;
case kCLAuthorizationStatusAuthorized:
break;
default:
break;
}
}
Спасибо,