[英]CLLocationManagerDelegate method not working on apple watch extension
我正在研究Apple Watch應用程序以檢索用戶位置。 我已經將CoreLocation框架導入interfacecontroller類,並向該類添加了委托。 這是行不通的。 請檢查下面的代碼。 我想念什么?
import Foundation
import WatchKit
import CoreLocation
class NearByController: WKInterfaceController, CLLocationManagerDelegate {
override func awakeWithContext(context: AnyObject?) {
var locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.startUpdatingLocation()
}
}
// MARK: CLLocationManagerDelegate
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
println("Retrieved location")
}
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) {
println(error)
}
似乎我需要將CLLocationManager初始化為類屬性,而不是內部方法。 這是我的答案。 現在正在工作。
import Foundation
import WatchKit
import CoreLocation
class NearByController: WKInterfaceController, CLLocationManagerDelegate {
var locationManager = CLLocationManager()
override func awakeWithContext(context: AnyObject?) {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.startUpdatingLocation()
}
}
// MARK: CLLocationManagerDelegate
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
locationManager.stopUpdatingLocation()
println(locations)
}
func locationManager(manager: CLLocationManager!, didFailWithError error: NSError!) {
println(error)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.