Делегат didUpdateLocations CLLocationManager не вызывается в iOS 11 и Xcode 9.1

Привет, мне нужно получить текущее местоположение устройства, и для этого я использую класс CLLocationManager, но didUpdateLocations не вызывается.

I am

Мой код и список ниже:

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения


person ajeet sharma    schedule 20.12.2017    source источник
comment
locationManger?.delegate = self установлен в viewDidLoad ?   -  person Inder Kumar Rathore    schedule 20.12.2017
comment
@InderKumarRathore да, но когда я устанавливаю делегата в viewWillAppear, все равно не работает.   -  person ajeet sharma    schedule 20.12.2017
comment
Вы запрашивали местоположение у пользователя? locationManager.requestWhenInUseAuthorization() или locationManager.requestAlwaysAuthorization()   -  person Au Ris    schedule 20.12.2017
comment
Попробуйте реализовать метод didFailWithError, чтобы убедиться, что он не дает сбоев.   -  person WBuck    schedule 24.12.2017


Ответы (1)


<key>NSLocationAlwaysUsageDescription</key>
    <string>Requires GPS to track persons</string>
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
    <string>Requires GPS to track persons</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>Requires GPS to track persons</string>
    <key>UIBackgroundModes</key>
    <array>
        <string>fetch</string>
        <string>location</string>
    </array>

добавьте это в viewdidLoad

locationManager.delegate = self
   self.locationManager.allowsBackgroundLocationUpdates = true
   self.locationManager.startUpdatingLocation()
person Uma Madhavi    schedule 20.12.2017
comment
Я использовал этот код. Но все еще не работает. - person ajeet sharma; 20.12.2017
comment
@ajeetsharma один раз удалите приложение и запустите снова - person Uma Madhavi; 20.12.2017
comment
спасибо!! работает :D (у) - person ajeet sharma; 25.12.2017