2012-04-16 10 views
1

私は典型的な問題があります。私のアプリケーションでは、アプリケーションデリゲートメソッドを処理しています。iOS - アプリケーションデリゲート - CLLocationManagerでdidBecomeActiveを呼び出す

- (void)applicationDidBecomeActive:(UIApplication *)application 

UIを更新しています。

私のアプリケーションは終了せず、バックグラウンドで実行されるため、アプリケーションがアクティブな状態になると、このメソッドが呼び出されて正常に動作しています。
しかし、私のビューコントローラの一つで、私は、CLLocationManagerオブジェクトを作成してい

self.locationManager = [[CLLocationManager alloc] init]; 
self.locationManager.delegate = self; // send loc updates to myself 

問題は、このロケーションマネージャオブジェクトが作成されるときに、アプリケーションデリゲートの「applicationDidBecomeActive」も必要ではないとすると呼ばれている、ということです私が扱うために。ロケーションマネージャオブジェクトが初期化されているとき、どのようにコールを無視する必要がありますか?

答えて

0

それは、このようなコールoccuresという奇妙だが、それを停止する方法はありません場合は、ちょうどあなたのデフォルトのフラグを行い、なめらかLKE callAfterSettingDelegate、それがその後呼び出された場合、あなたのDidBcomeActiveチェックでは、これを無視そのフラグをnilに設定します。

+0

すべてのフラグを処理するのは正しい方法ではありません。フラグを追加し続けると、コードはフラグで埋められます。 – Satyam

関連する問題