2012-03-11 8 views
1

私はクライアントサーバーアプリケーションを構築していますが、サーバーは常に現在のクライアントの場所を知る必要があります。
クライアントアプリケーションがアクティブなときは、CLLocationManagerを使用して10分ごとにクライアントの場所を取得し、サーバーに送信します。
私の問題は、アプリケーションが終了したときに何をするかです。私はアプリケーションが終了したときに位置の更新を取得するために重要な位置の変更を使用できることは知っていますが、アプリケーションを起動せずにこの位置の更新をサーバーに送信できますか?私は、アプリが近くにいるときに、ユーザーに透過的にしたいと思っています。これは可能ですか?この場所の更新プログラムを入手すると、UIで何か問題が発生しますか?目的c - 重要な場所の変更

+0

ユーザーがアプリを終了した場合、彼は自分の場所をサーバーに公開したくないということです。しかし、はい、バックグラウンドでは、あなたがサーバーに情報を送信することができます場合よりも。 – Ravin

+0

私が知っている限り、重要なロケーション変更の通知は、アプリが閉じると通知する... – Eyal

+0

あなたが言ったことは正しいです、私はその点を逃した。 – Ravin

答えて

1

を、彼らは新しいイベントが到着した場合、システムが自動的に 背景にアプリケーションをrelaunches

を言って、そのような場合には、オプションの辞書は、アプリケーションに渡されます。 didFinishLaunchingWithOptions:アプリケーション代理人のメソッドには、場所イベントのためにアプリケーションが起動されたことを示すUIApplicationLaunchOptionsLocationKeyキーが含まれています。

再起動時には、ロケーションマネージャオブジェクトを設定する必要があり、 はこのメソッドを呼び出してロケーションイベントの受信を継続します。 ロケーションサービスを再開すると、現在のイベントはすぐに 代理人に配信されます。また、あなたの ロケーションマネージャオブジェクトのlocationプロパティを使用すると、あなたが任意のUI要素を表示することなく、サーバーに場所を送ることができます

ロケーションサービスを開始する前であっても、最新の位置 オブジェクトが移入されています。

関連する問題