0

多くのView ControllerでlocationManagerをインスタンス化しました。バッテリーを節約するために、ロケーションマネージャーがロケーションを更新するのを止めたいので、VC の viewDidUnload 内で stopUpdatingLocation を呼び出すことを考えていましたが、ios6 では viewDidUnload が非推奨になりました。すべての更新場所を停止するクリーンな方法はありますか?

ありがとう!クオン

4

3 に答える 3

1

UIApplicationDelegate メソッドを使用できます。

- (void)applicationWillResignActive:(UIApplication *)application

このメソッド内で stopUpdatingLocation を呼び出すことができます。

于 2013-02-09T09:35:00.767 に答える
1

場所の更新を停止します

   - (void)applicationDidEnterBackground:(UIApplication *)application
   {
    //stop updating Location

      }
于 2013-02-09T09:53:19.447 に答える
0

stopUpdatingLocation以前の回答では、からの呼び出しが提案されていましapplicationWillResignActiveた。applicationDidEnterBackgroundより良い解決策は、代わりにから電話をかけることです。

stopUpdatingLocationから呼び出すapplicationWillResignActiveと、ユーザーが何かをタップできるようになる直前に、その場所を使用する許可をユーザーに求めるアラートが消えることがわかりました。

これはapplicationWillResignActive、権限ダイアログが表示されたときに が呼び出されるために発生します。stopUpdatingLocationこれは の直後に呼び出されstartUpdatingLocation、ダイアログがすぐに消えます。

于 2013-09-12T06:43:11.623 に答える