簡體   English   中英

CLLocationManagerDelegate方法不適用於Apple Watch擴展

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM