Delegasi CLLocationManager tidak dipanggil di simulator ios 10 swift 3 [duplikat]

Delegasi CLLocationManager tidak pernah dipanggil. Ini kode saya:

  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)")
   }
  }

pengaturan info.plist:

info.plist

Pengaturan Simulator saya:

pengaturan simulator


person vrao    schedule 12.01.2017    source sumber
comment
Saya tidak melihat duplikat apa pun dalam kode, hanya ada satu fungsi locationManager. Saya tidak mengerti, bisakah Anda menjelaskannya?   -  person vrao    schedule 12.01.2017
comment
Ya, ini menjawab pertanyaan itu. Terima kasih Nirav   -  person vrao    schedule 12.01.2017


Jawaban (1)


Apakah Anda mengubah lokasi setelah memulai aplikasi? Dalam menu: Debug / Lokasi / ... Atau ubah lokasi default (di tangkapan layar terakhir Anda)

person Damian Dudycz    schedule 12.01.2017
comment
Izinkan pengaturan Simulasi Lokasi sudah dicentang secara default. Saya tidak menetapkan lokasi default kapan pun. Tolong beri tahu saya pengaturan apa jika ada yang salah? - person vrao; 12.01.2017
comment
Setelah membalas Anda, saya kembali dan mengatur lokasi default ke lokasi saat ini dan mencoba lagi. Masih tidak bekerja. - person vrao; 12.01.2017
comment
Saat menjalankan simulator Anda dapat memilih lokasi dari menu, seperti yang saya katakan di atas Debug / Lokasi / ... . Secara default tidak ada, jadi Anda tidak akan mendapat notifikasi. - person Damian Dudycz; 12.01.2017
comment
Baru saja menyelesaikan masalah dari thread lain yang menjawab ini. Saya harus mengubah metode delegasi menjadi: func locationManager(_ manager: CLLocationManager, didUpdateLocations location: [CLLocation]) { } karena saya menggunakan Swift 3.0 - person vrao; 12.01.2017