2016-07-13 9 views

答えて

0

現在の場所を取得するための最新の解決策を見つけることができませんでした。ここでは、あなたのアプリにしなければならないものだhttps://github.com/robovm/apple-ios-samples/tree/master/PotLocCoreLocationwithiPhoneandAppleWatch

私のソースはPotLocCoreLocationwithiPhoneandAppleWatchと呼ばれる位置追跡やスマートウォッチのAppleのサンプルコードです。 Xcodeでプロジェクト設定でhttps://gist.github.com/JonMercer/75b3f45cda16ee5d1e0955b2492f66dd

  1. capabilitiesタブをクリックします(それはあなたが入れgeneralタブの横にあるタブです:ステップ2-6からのすべてが、この主旨であること

    注意あなたのバンドル識別子)。その後、Background Modeを有効にしてLocation updatesを有効にします。 @Robのおかげで編集:また、NSLocationWhenInUseUsageDescriptionをplistに追加してください。値は、あなたのビューコントローラ内部

  2. が好きで何もすることができ、これらの二つの機能

    /** 
    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).") 
    } 
    
  3. viewDidLoad()セットにlet manager = CLLocationManager()変数

  4. を作成して実装するCLLocationManagerDelegate

    class YourClass: UIViewController, CLLocationManagerDelegate { 
    
  5. を拡張次のようになります。manager.requestWhenInUseAuthorization(),manager.allowsBackgroundLocationUpdates = trueおよび追跡を停止するためには

  6. は、次の手順を実行しますmanager.stopUpdatingLocation()manager.allowsBackgroundLocationUpdates = false
+0

私は 'requestWhenInUseAuthorization'が機能するために必要なのplist設定に関する何かを追加することをお勧めかもしれません。また、バックグラウンドの場所の更新に関する上記のすべては、アプリがバックグラウンドの間に標準的なロケーションサービスを引き続き使用する真のナビゲーションアプリを作成する場合にのみ適用されます。アプリの実行中に位置情報サービスを行っている場合は、すべてのバックグラウンド情報は必要ありません。実際、バックグラウンドサービスが必要な真のナビゲーションアプリでないと、アプリが拒否される可能性があります。 – Rob

+0

ありがとうございました。あなたの編集内容を回答に追加しました – jonmecer

関連する問題