Должно ли приложение запускать отслеживание местоположения, чтобы получить ЛЮБОЕ последнее известное местоположение из CLLocationManager?

В настоящее время разрабатывается приложение, которое должно получать последнее местоположение из CLLocationManager (без какого-либо регулярного отслеживания). Неважно, сколько лет, это точно.Мне не нужно и я не хочу начинать отслеживать - мне просто нужно просто взять какое-то последнее местоположение из кеша и все. ИМХО, CLLocationManager — это общий компонент в iOS, и если какое-то приложение использует отслеживание местоположения, то другое приложение должно иметь возможность использовать самое последнее местоположение из CLLocationManager.location. Должно быть достаточно просто выделить/инициализировать CLLocationManager и получить его местоположение. Однако это не так. Я тестировал на iPhone4 - запустил карты Google, увидел свое текущее местоположение, затем перешел в свое приложение, но после [[CLLocationManager alloc] init] свойство местоположения равно нулю.

ОБНОВЛЕНИЕ: пробовал [locationManager startUpdatingLocation]; и [locationManager stopUpdatingLocation]; но результат тот же. Я думаю, единственное решение - начать регулярное отслеживание?

ОБНОВЛЕНИЕ 2: Странно, но нет предупреждения «Приложение хочет использовать службы определения местоположения» после выделения/инициализации CLLocationManager. Вот мой фрагмент кода:

CLLocationManager *locationManager = [[CLLocationManager alloc] init];

[locationManager startUpdatingLocation];
[locationManager stopUpdatingLocation];
NSLog(@"%@", locationManager.location); //prints nil
5
задан Centurion 24 May 2012 в 10:05
поделиться