2017-01-12 5 views
1

Делегат CLLocationManager никогда не вызывается. Вот мой код: НастройкиCLLocationManager делегат не вызван в ios 10 swift 3 simulator

import UIKit 
    import CoreLocation 
    class LocationController: UITableViewController, CLLocationManagerDelegate { 
    override func viewDidLoad() { 
    super.viewDidLoad() 
    if (CLLocationManager.locationServicesEnabled()) 
    { 
     locationManager.delegate = self; 
     locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters 
     // ask permission - NOT NECESSARY IF YOU ALREADY ADDED NSLocationAlwaysUsageDescription IT UP INFO.PLIST 
     locationManager.requestAlwaysAuthorization() 
     // when in use foreground 
     locationManager.requestWhenInUseAuthorization() 
     locationManager.startUpdatingLocation() 
    } 
    else{ 
     print("set up location access in info.plist") 
    } 
    } 

    private func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 
    print("locationmanager got called") 
    let locValue:CLLocationCoordinate2D = manager.location!.coordinate 
    print("locations = \(locValue.latitude) \(locValue.longitude)") 
    } 
    } 

Info.plist:

info.plist

Мои настройки имитатора:

simulator setting

+0

Я не вижу дубликата в коде, есть только один func locationManager. Я не понимаю, вы можете объяснить? – vrao

+0

Да, это ответ на вопрос. Спасибо. Nirav – vrao

ответ

0

ли вы изменить местоположение после запуска приложения? В меню: Debug/Location/... Или измените местоположение по умолчанию (на последнем скриншоте)

+0

Разрешить местоположение. Симуляция уже была проверена по умолчанию. Я не устанавливал местоположение по умолчанию в любое время. Пожалуйста, дайте мне знать, какие настройки, если они есть, неверны? – vrao

+0

После ответа на вопрос, я вернулся и установил местоположение по умолчанию в текущее местоположение и повторил попытку. Это все еще не работает. – vrao

+0

При запуске симулятора вы можете выбрать местоположение из меню, как я уже говорил выше. Debug/Location/.... По умолчанию он может быть ничем, поэтому вы не будете получать уведомления. –

Смежные вопросы