저는 Apple Watch on Swift 용 애플리케이션을 작성하고 있습니다. 그리고 내 목표는 현재 위치와지도상의 한 지점 사이의 길이를 표시 할 수있는 일종의 탐색기를 만드는 것입니다. 현재 나는 현재 위치를 얻고 화면에 표시하려고하지만 불행히도 코드가 작동하지 않습니다.WatchKit 및 Geolocation
다음은 InterfaceController.swift 파일의 코드입니다. 여기
class InterfaceController: WKInterfaceController, CLLocationManagerDelegate {
@IBOutlet weak var lblLocationDisplay: WKInterfaceLabel!;
let locationManager = CLLocationManager();
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
// Configure interface objects here.
}
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
}
override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}
@IBAction func btnFindLocation() {
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.requestWhenInUseAuthorization();
locationManager.startUpdatingLocation();
}
func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {
CLGeocoder().reverseGeocodeLocation(manager.location, completionHandler: {(placemarks, error) -> Void in
println("Something");
let placeMarks = placemarks[0] as CLPlacemark;
self.displayLocation(placeMarks);
});
}
func displayLocation(placemark: CLPlacemark) {
// locationManager.stopUpdatingLocation();
println(placemark.country);
let locality = placemark.locality;
let postalCode = placemark.postalCode;
let administrativeArea = placemark.administrativeArea;
let country = placemark.country;
lblLocationDisplay.setText("Locality: \(locality) PostalCode: \(postalCode) Area: \(administrativeArea) Country: \(country)");
}
}
는 코드가 작동하지 않는 이유의 제안을 공유하십시오 project
입니다. 또한 시계에서 탐색기 앱을 구현하는 방법에 대한 조언을받을 수 있기를 바랍니다. 고맙습니다!
"IOS 앱에서 라이브러리에 CoreLocation 프레임 워크 추가"- 죄송합니다. 정확히 어디에 추가해야합니까? 나는 4 info.plist) "CLLocationDelegate의 대리인을 추가하십시오"- "var delegate : CLLocationManagerDelegate?"와 같아야합니까? 좀 혼란 스럽네요. ( –
이유는 모르지만 시뮬레이터에서 실행되지 않습니다. –
Build Phases에서 CoreLocation.framework를 추가 할 수 있습니다. –