我想知道是否有人可以指出我(或粘贴)一些代码来处理关闭核心位置更新以节省电源。

据我了解,一旦阅读所需的准确性,就应该立即停止核心位置更新。如果您在一定时间后无法获得良好的准确性阅读,则还应停止更新(大概是使用计时器)。每次停止更新时,都应触发计时器(大约60秒)以重新启动核心位置并获得新的阅读。

是否有Apple代码来完成所有这些? locateme,taggedLosations和位置示例代码似乎没有这样做。

有帮助吗?

解决方案

Locateme示例具有您需要的代码。您只需要创建第二个选择器即可发射。 locateme在其设置方法中调用以下内容...

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

它说经过一定的时间(Ksetupinfokeytimeout),请致电 stopUpdatingLocation 方法NSSTRING的参数=“ Timed Out”。在 - 的里面 stopUpdatingLocation 方法, [locationManager stopUpdatingLocation] 被要求告诉冠层停止。

因此,您需要做的就是添加其他选择器...

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

在 - 的里面 stopUpdatingLocation 方法,将调用 timeToRestartCoreLocation 60秒后的方法。然后在你里面 timeToRestartCoreLocation 方法,致电 [locationManager startUpdatingLocation] 再次启动连冠。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top