我正在使用核心位置通过iphone识别用户的位置。现在,当应用程序启动并进入[locationManager startUpdatingLocation]时,将显示一个警告框,其中包含文本“App希望使用您当前的位置”。理想情况下,当用户在此警报框中按“确定”时,我想要开始超时时间。显然,没有办法捕获警报响应,所以我做的是在应用程序启动时以10秒的超时时间启动计时器。当然,这意味着如果用户没有及时按下警报框上的按钮,计时器将超时并且那将是位置处理的结束。超时计时器的原因是,即使在晴朗的天空下,应用程序有时需要相当长的时间来识别用户位置。
所以我猜我要问的是核心位置服务的理想超时时间是什么,因为定时器和位置服务都是在应用程序启动时启动的?
答案 0 :(得分:1)
这里很难给出一般性建议,因为它实际上取决于您想要的数据的准确性和新鲜度。通常,您将收到不同年龄和准确度的多个核心位置更新。通常,您将首先收到旧的缓存位置。然后,您将收到基于WiFi和蜂窝塔三角测量的更新。 GPS更新花费的时间最长,并且依赖于晴朗的天空。因此,如果您对具有单元塔精度(~3 km)的缓存位置更新很好,那么您通常不必等待很长时间。 20秒的时间应该绝对没问题。当然,如果您想覆盖“无载波”情况并因此依赖于GPS,情况会有所不同。