Я пишу приложение для Apple Watch на 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
Пожалуйста, поделитесь своими предложениями о причине, почему код не работает. И также я хочу, чтобы вы посоветовали мне, как реализовать приложение навигатора в часах. Спасибо!
«Добавить среду CoreLocation в библиотеки из приложения IOS» - Извините, но где именно я должен добавить это? У меня есть 4 info.plist) "и добавить делегата CLLocationDelegate" - должно ли оно быть таким "var delegate: CLLocationManagerDelegate?"? Я немного запутался ( –
Я не знаю, почему, но приложение не работает на симуляторе. –
вы можете добавить CoreLocation.framework в Build Phases. –