Прежде чем кто-нибудь задается вопросом, да, я прочитал другие решения, моя программа недавно загадочно сломалась. Я не внес никаких изменений в моем коде, и только сегодня пытались запустить моделирование для друга, чтобы взглянуть на мое приложение, и я получаю Страшный:CLLocationManager сломался. Больше не обновляйте местоположение
Попытка запуска обновлений местоположения MapKit без запроса местоположения авторизации. Необходимо сначала вызвать [CLLocationManager requestWhenInUseAuthorization] или - [CLLocationManager requestAlwaysAuthorization].
Ну я проверил мой PLIST да и
NSLocationAlwaysUsageDescription
и
NSLocationAlwaysUsageDescription
все еще там.
Вот мой метод viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
[mainMapView setDelegate:self];
[mainMapView setShowsUserLocation:YES];
[manager setDelegate:self];
[manager requestWhenInUseAuthorization];
[manager requestAlwaysAuthorization];
[manager setDistanceFilter:kCLDistanceFilterNone];
[manager setDesiredAccuracy:kCLLocationAccuracyBest];
[manager startUpdatingLocation];
[search setDelegate:self];
[search setAlpha:0];
annotationArray = [[NSMutableArray alloc]init];
model = [[DataModel alloc]init];
}
Кто-нибудь есть предложения?
Где вы начинаете менеджер? Покажите нам код. –
У Пола был ответ: я запускаю менеджер в отдельном методе, который не вызывался. Спасибо, что указали это. Я ненавижу простые недочеты ... –
Нет проблем, я сделаю это ответом, а не комментарием. Таким образом, мы можем получить некоторые поддельные интернет-точки для этого. –