我正在研究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)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句