У меня есть приложение, и я хочу добавить к нему некоторые функции, основанные на местоположении. Он поддерживает как iOS 7, так и 8, но у меня есть некоторые проблемы.службы определения местоположения iOS7 и iOS 8
Я хочу запросить разрешение на размещение только тогда, когда пользователь удаляет определенную кнопку на определенном диспетчере viewController. Проблема заключается в том, что запрос разрешения появляется сразу после запуска приложения. Точнее, между функциями ViewWillAppear и ViewDidAppear первого viewController.
То, что я пытался ранее:
имея ключ NSLocationWhenInUseUsageDescription в PLIST (для iOS8). С точки зрения кода:
self.locationManager = [[CLLocationManager alloc] init]; self.locationManager.desiredAccuracy = kCLLocationAccuracyBest; self.locationManager.delegate = self; if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) { [self.locationManager requestWhenInUseAuthorization]; } [self.locationManager startUpdatingLocation];
вынув ключ Plist -> это вызвало популярность в iOS8 не появляться больше, но он по-прежнему делает в iOS7
В настоящее время каждый отдельный бита кода, связанной с CoreLocation закомментирован и я до сих пор получить диалоговое окно с запросом мне разрешения (iOS7 только)
Я не знаю, что еще я мог бы попробовать, так что любые бита помощь очень ценятся
Не выполняйте никаких действий с кодом CLLocationManager, пока пользователь не нажмет нужную кнопку. –