Как убедиться, что поток кода переходит в didUpdateLocations в swift

Я пытаюсь создать независимое от часов приложение, которое может отслеживать местоположение пользователя. Но поток не собирается в соответствии с didupdatelocations даже после вызова locationmanager.requestlocation(). Как правильно отслеживать местоположение в приложении для просмотра часов?


import WatchKit
import Foundation
import CoreLocation


class HomeInterfaceController: WKInterfaceController,CLLocationManagerDelegate {


    var healthStore: HKHealthStore?
 var locationManager:CLLocationManager!

 override func awake(withContext context: Any?) {
        super.awake(withContext: context)


        // Configure location manager
        self.locationManager = CLLocationManager()
        self.locationManager.delegate = self
        self.locationManager.distanceFilter = 20.0
        self.locationManager.desiredAccuracy = kCLLocationAccuracyBest

        // Request location authorization
        self.locationManager.requestAlwaysAuthorization()
        self.locationManager.startUpdatingLocation()



}

Я уже настроил диспетчер местоположения в функции пробуждения


func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
        switch status.rawValue {
        case 0:
            print("Not determined")

        case 1:
            print("Restricted Access")

        case 2:
            print("Denied")

        case 3:
            print("Authorized Always")
            locationManager.requestLocation()

            break
        case 4:
            print("Authorization When in use")
            locationManager.requestLocation()
        default:
            break
        }
    }


func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

        let currentLocation = locations.last! as CLLocation

        print(locations.last?.coordinate)

    }

0 ответов

Другие вопросы по тегам