質問

電源を節約するためにコアロケーションの更新をオフにすることに対処するために、誰かが私にコードを指し示す(または貼り付ける)ことができるかどうか疑問に思っていました。

私が理解している限り、希望する精度を読み取るとすぐに、コアの場所の更新を停止する必要があります。特定の時間の後に適切な正確さを読むことができない場合は、更新も停止する必要があります(おそらくタイマーを使用します)。更新を停止するたびに、コアロケーションを再起動して新しい読書を取得するために、タイマー(約60秒)を起動する必要があります。

これをすべて行うAppleコードはありますか? Locateme、TaggedLocations、および場所のサンプルコードは、それをしていないようです。

役に立ちましたか?

解決

Locatemeの例には、必要なコードがあります。発射するために2番目のセレクターを作成するだけです。 locatemeは、セットアップ方法で以下を呼び出します...

    [self performSelector:@selector(stopUpdatingLocation:) withObject:@"Timed Out" afterDelay:[[setupInfo objectForKey:kSetupInfoKeyTimeout] doubleValue]];

一定の時間(ksetupinfokeytimeout)の後、電話してください stopUpdatingLocation 方法nsstring = "タイミングアウト"の引数。内側 stopUpdatingLocation 方法、 [locationManager stopUpdatingLocation] 停止するようにcorelocationに伝えるために呼び出されます。

だから、あなたがする必要があるのは、このような別のセレクターを追加することだけです...

[self performSelector:@selector(timeToRestartCoreLocation) afterDelay: 60];

内側 stopUpdatingLocation メソッド timeToRestartCoreLocation 60秒後の方法。それからあなたの中に timeToRestartCoreLocation メソッド、呼び出し [locationManager startUpdatingLocation] 再びcorelocationを開始します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top