gpt4 book ai didi

iphone - 停止核心位置更新,然后使用计时器重新启动它们

转载 作者:行者123 更新时间:2023-12-03 20:58:54 25 4
gpt4 key购买 nike

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

据我了解,一旦获得所需的准确度读数,您就应该停止核心位置更新。如果您在一定时间后没有获得良好的准确度读数,您还应该停止更新(大概使用计时器)。每次停止更新时,您都应该触发一个计时器(大约 60 秒)来重新启动 Core Location 并获取新的读数。

有苹果代码可以完成这一切吗? LocateMe、TaggedLocations 和 Locations 示例代码似乎没有做到这一点。

最佳答案

LocateMe 示例包含您需要的代码。您只需要创建第二个选择器即可触发。LocateMe 在其设置方法中调用以下内容...

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

它说,经过一定时间(kSetupInfoKeyTimeout)后,请调用 stopUpdatingLocation方法的参数为 NSString = "Timed Out"。里面stopUpdatingLocation方法,[locationManager stopUpdatingLocation]被调用来告诉 CoreLocation 停止。

所以,您需要做的就是添加另一个像这样的选择器......

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

里面stopUpdatingLocation方法,它将调用 timeToRestartCoreLocation 60秒后的方法。然后在你的timeToRestartCoreLocation里面方法,调用[locationManager startUpdatingLocation]再次启动 CoreLocation。

关于iphone - 停止核心位置更新,然后使用计时器重新启动它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2698361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com