Ho bisogno di recuperare la posizione corrente dell'utente per l'app WatchKit in watchOS 2. Come faccio a fare questo?Come ottenere la posizione corrente in watchOS 2?
risposta
Le altre risposte non sono corrette. Puoi richiedere la posizione direttamente sull'orologio per guardare OS2. Il metodo disponibile è chiamato requestLocation
. Ti consente di richiedere un singolo aggiornamento di posizione.
E.g.
#import <CoreLocation/CoreLocation.h>
@interface className : WKInterfaceController<CLLocationManagerDelegate>
Allora dove si desidera richiedere posizione:
self.locationManager = [CLLocationManager new];
self.locationManager.delegate = self;
[self.locationManager requestWhenInUseAuthorization];
[self.locationManager requestLocation];
Poi si aprirà una singola richiamata in uno dei seguenti metodi CLLocationManagerDelegate
.
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
// Callback here with single location if location succeeds
}
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
// Error here if no location can be found
}
vedere il video WWDC15 "Novità di Core Location" - https://developer.apple.com/videos/wwdc/2015/?id=714
Ah, grazie per averlo menzionato. Non lo sapevo .. – Ben
Grazie! Ma è importante ricordare che questo non funziona in ExtensionDelegate. In un "WKInterfaceController" funziona perfettamente. – Blankarsch
@Blankarsch C'è qualche ragione per cui questo è il caso? Cosa succede se abbiamo bisogno di un gestore centrale indipendente dall'interfaccia utente? – TealShift
Perché sarebbe questa domanda essere giù votato? È una domanda perfettamente valida. smh – Rickster