2016-07-13 9 views

Antwort

0

Ich konnte keine aktuelle Lösung finden, um den aktuellen Standort zu bekommen, also hier ist, wie ich es gemacht habe.

Meine Quelle ist Beispielcode Apfel auf Standortverfolgung und Smart Uhr PotLocCoreLocationwithiPhoneandAppleWatch genannt: https://github.com/robovm/apple-ios-samples/tree/master/PotLocCoreLocationwithiPhoneandAppleWatch

Hier ist, was Sie in Ihrer Anwendung zu tun haben.

Beachten Sie, dass alles aus den Schritten 2-6 in diesem Kern sind:https://gist.github.com/JonMercer/75b3f45cda16ee5d1e0955b2492f66dd

  1. In den Projekteinstellungen in Xcode, klicken Sie auf die Registerkarte capabilities (es ist die Registerkarte neben dem general Registerkarte, wo Sie setzen Ihre Bündelkennung). Aktivieren Sie dann Background Mode und aktivieren Sie Location updates. EDIT dank @Rob: Und auch zu Ihrem Plist hinzufügen. Der Wert kann alles, was Sie
  2. im View-Controller mag sein, erweitern die CLLocationManagerDelegate

    class YourClass: UIViewController, CLLocationManagerDelegate { 
    
  3. Umsetzung dieser beiden Funktionen

    /** 
    Increases that location count by the number of locations received by the 
    manager. Updates the batch count with the added locations. 
    */ 
    func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { 
        //use the "locations" variable here 
    } 
    
    /// Log any errors to the console. 
    func locationManager(manager: CLLocationManager, didFailWithError error: NSError) { 
        print("Error occured: \(error.localizedDescription).") 
    } 
    
  4. Erstellen Sie eine Variable let manager = CLLocationManager()

  5. Auf viewDidLoad() Set die folgenden: manager.requestWhenInUseAuthorization(), manager.allowsBackgroundLocationUpdates = true und manager.startUpdatingLocation()
  6. Um Tracking zu stoppen wie folgt vor: manager.stopUpdatingLocation() und manager.allowsBackgroundLocationUpdates = false
+0

Ich könnte darauf hindeuten, etwas über die notwendigen plist Einstellung Zugabe für 'requestWhenInUseAuthorization' zu arbeiten. Alle oben genannten Informationen zu Aktualisierungen des Hintergrundstandorts gelten auch dann, wenn Sie eine echte Navigations-App schreiben, die weiterhin Standard-Standortdienste verwendet, während sich die App im Hintergrund befindet. Wenn Sie während der Ausführung der App Ortungsdienste ausführen, sind diese Hintergrundinformationen nicht erforderlich. In der Tat wird Ihre App wahrscheinlich abgelehnt, wenn es sich nicht um eine echte Navigationsanwendung handelt, die Hintergrunddienste benötigt. – Rob

+0

Danke Rob. Deine Bearbeitung wurde der Antwort hinzugefügt – jonmecer

Verwandte Themen