2011-09-16 2 views
6

私のiPhoneアプリケーションは位置情報サービスを使用します。私が最初にそれをインストールして実行すると、ユーザーが一時的に位置情報サービスの使用を許可するかどうかを尋ねるダイアログが表示され、すぐに消えます。これは連続して数回発生します。iPhoneでロケーションサービスのポップを許可して消滅させるかどうかを確認するダイアログ

既知のバグですか、何か間違っていますか?

+0

ロケーションマネージャを使用するコードの一部を掲載することはできますか? – chown

答えて

13

私のアプリで同じ問題が発生しましたが、私はこれを質問をGoogleで検索し、この古い質問に遭遇する人のための回答として追加します。

CLLocationManagerをローカルにインスタンス化してその場所を更新するように要求すると、許可を求めるウィンドウがポップアップした直後に消えてしまうという問題があります。

CLLocationManagerをプロパティにする必要があります(または少なくともローカルにインスタンス化しないでください)。

+0

同じ問題があった場合、この回答は –

+0

の助けになりました。それはローカル変数が他の場所では参照されていないためで、ARCはその変数を解放し、割り当てを解除してダイアログを消してしまうからです。 CLLocationManagerをプロパティまたはインスタンス変数にします。 –

0

OSのように聞こえて、アプリケーションの位置情報サービスの使用を承認するように聞こえます。私はあなたが記述した方法を閉じて再オープンするのを妨げる顕著な問題は認識していません。私が知る限り、あなたはこれを支配しません。あなたのアプリが位置ベースのメソッド(例えば、-startUpdatingLocationまたは-startMonitoringForRegion)をトリガすると、自動的に表示されます。

OSアラートからビューを盗もうとしている別の競合するビューがあるかもしれませんが、コードはありません。お役に立てれば。

+0

うん、まさに何が起こるか。問題は、私が位置情報サービスを使用するビューが異なることですが、それらのどれもがアプリケーションの負荷で動作しないということです。ロードされたメインビューと最初のビューは、ロケーションサービスを使用しません。 – Misha

+0

私はそれぞれの場所であなたの場所のものを無効にすることについて考えて、あなたがトラブルを与えている人を追跡するまで、一度に1つずつそれらを追加する作業をします。 Simulatorを工場出荷時の設定にリセットし、アプリの位置情報サービスのトリガーをリセットします。それはあなたがそれをテストするのに役立ちます。 –

関連する問題