2012-01-17 1 views
3

iPhoneアプリの位置情報にはアドバイスが必要です。iPhoneアプリをバックグラウンドで使用しているときに近い場所を特定するためのアドバイス

私は近くの場所をユーザーに知らせるアプリを構築しています。アプリがフォアグラウンドにあるときは、通常のdidUpdateToLocation:fromLocation:メソッドを使用します(ユーザーと興味のある場所の距離を計算します)。しかし、バックグラウンドにいるときは、これを実行する最善の方法がわかりません。

私は、アプリケーションがバックグラウンドになる直前に関心のあるすべての場所からCLRegionsを作成することを考えています。ユーザーが地域を入力すると、アプリはローカル通知を行い、関心のある場所をユーザーに通知します。

または、私はCLの重要な更新、ユーザーとすべての場所との間の計算距離を登録し、近いものを通知することができます。おそらく最善の解決策ではないかもしれませんが、OSは近くの場所を計算するのに十分な時間を与えないかもしれませんか?

同じような経験をしている人はいますか?何かアドバイス?

+0

を更新背景の場所を有効にする方法

。関心の最も高い優先順位の場所については、小さい範囲内にある場合にのみ警告する必要があります。あなたがやっていることに応じて、何らかのレビューや国勢調査システムを使って、最も重要な場所や人気のある場所を特定することができます。 – Polynomial

+0

私はこの問題を解決した後、本当に懸念される@ Polynomialの入力をありがとう:) – bennythemink

答えて

0

重要なロケーションの更新(セル変更イベント)に登録してから、イベントで数学を行うべきだと思います。このイベントに基づいて何かを行うことができます。私の経験によると、地域のモニタリングは、必要としない余分な計算と一緒に、細胞変化事象にも依存しています。

ただし、バックグラウンドの場所の更新を有効にする必要があります。そのためには、このバックグラウンドロケーションサービスがあなたのアプリケーションに必要であることをAppleに説得する必要があります。アップルのドキュメントによると、バックグラウンドの位置情報サービスは、ターンバイナビで提供するアプリ向けのものです。私はiPhoneのでは動作しませんが、設計の観点から、私は、デバイスがバックグラウンドにあるとき、あなたはできるだけuninvasiveなければならないことを言うだろう Understanding background tracking of user's location in iOS