2016-10-14 13 views
0

私はiOS開発を初めて利用しています。私は、座標を取得し、特定の基準が満たされた後にサーバーに送信したいと思います。私は座標を得ることができますが、問題は、アプリがバックグラウンドにあるとき、または終了したときにどのように座標を取得するかということです。 私は他の多くの同様の投稿を行ってきましたが、良い解決策は見つかりませんでした。 アップルのドキュメントでは、バックグラウンドでの使用のためにstartMonitoringSignificantLocationChanges()を使用していますが、特定の距離をカバーした後、または特定の時間後に座標を取得したいと考えています。バックグラウンドで緯度と経度を取得し、サーバーにデータを送信するiOS

allowDeferredLocationUpdatesUntilTraveled() 

私の使用の可能性がありますが、私は天気は、アプリがバックグラウンドで殺されたときに動作しないことを知っています。

答えて

0

iOSアプリがバックグラウンドでも監視場所を維持する必要がある場合は、標準ロケーションサービスを使用して、UIBackgroundModesキーの位置の値を指定してバックグラウンドでの実行を継続し、場所のアップデートを受信します。このような場所の更新が必要なアプリの例としては、フィットネスやターンバイターンのナビゲーションアプリなどがあります(この場合、ロケーションマネージャのpausesLocationUpdatesAutomaticallyプロパティがtrueに設定されていることを確認する必要があります)。

バックグラウンドで使用するためのAppleの要件を満たしていないと、アプリが拒否される危険性があるので注意してください。

私は特定の距離をカバーしたり、特定の時間 後、私は座標

取得したいの後にあなたがそれを更新する頻度にlocationManager.distanceFilterを変えることができることを望みますロケーション。

続きを読むApple開発者site

+0

また、CLLocationManagerDelegateを作成し、コールバック関数didUpdateLocationを使用して新しい場所の更新を処理する必要があります。また、これを開始するには、まずCLLocationManagerをインスタンス化し、startUpdatingLocation – Simon

関連する問題