В приложении «Карты», которое поставляется в комплекте с iPhone, мы всегда получаем следующее предупреждающее сообщение всякий раз, когда отключаются службы определения местоположения и пользователь пытается использовать службы определения местоположения:
Включите Службы определения местоположения, чтобы «Карты» могли определять ваше местоположение | Настройки | Отменить
Обратите внимание, что две кнопки в вышеупомянутом предупреждении - это Настройки и Отмена.
Теперь вопрос в том, сможем ли мы получить точно такое же поведение, как описано выше, в сторонних приложениях, учитывающих местоположение, которые мы все разрабатываем. Просто для более подробного объяснения вопроса, скажем, что мы разрабатываем наше приложение, учитывающее местоположение, под названием «Abc». Каждый раз, когда мы вызываем ту часть приложения «Abc», для которой требуются службы определения местоположения, нам необходимо получить следующее предупреждающее сообщение, если службы определения местоположения отключены.
Включите службы определения местоположения, чтобы разрешить «Abc» определять ваше местоположение | Настройки | Отмена
Я попробовал следующий фрагмент кода в моем приложении, учитывающем местоположение, как часть файла реализации, но он не работает так же, как приложение Карты, с точки зрения отображения нужного предупреждающего сообщения с просьбой включить местоположение. услуги, если он был в настоящее время выключен.
@implementation LocationViewController
@synthesize locationManager
self.locationManager = [[[CLLocationManager alloc] init] autorelease];
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
locationManager.delegate = self;
[locationManager startUpdatingLocation];
В соответствующем заголовочном файле у меня есть следующий фрагмент кода
@interface LocationViewController:UIViewController<CLLocationManagerDelegate> {
CLLocationManager *locationManager;
}
@property(nonatomic, retain) CLLocationManager *locationManager;
@end
Существуют ли какие-либо другие API, которые необходимо использовать для получения описанного выше поведения (как в приложении «Карты»), ИЛИ просто для сторонних приложений с определением местоположения просто невозможно добиться желаемого поведения с iOS 4.x. Пожалуйста, поделитесь своими комментариями по этому вопросу.