Как убедиться, что поток кода переходит в 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)
}