iphone – startMonitoringSignificantLocationChanges的替代方案?

我有点像iPhone应用程序开发的初学者,但是我正在尝试创建一个基本上每次更新你的位置的应用程序,当它不在前台时,这样我就可以映射一个人在他/她时所处的位置推出一款应用.我以为我可以使用startMonitoringSignificantLocationChange,因为当应用程序在后台时它可以工作,但事实证明这是非常不准确的.我真的希望能够设置一个时间间隔,所以例如,每10分钟一次该位置将被更新,但我不知道如何去做.有任何想法吗?
阅读Apple网站上的 background location documentation

您有一个选择是将您的应用声明为需要连续的位置更新.

An application can declare itself as
needing continuous background location
updates. An application that needs
regular location updates, both in the
foreground and background, should add
the UIBackgroundModes key to its
Info.plist file and set the value of
this key to an array containing the
location string. This option is
intended for applications that provide
specific services, such as navigation
services, that involve keeping the
user informed of his or her location
at all times. The presence of the key
in the application’s Info.plist file
tells the system that it should allow
the application to run as needed in
the background.

这将产生预期的结果,因为您的应用程序将能够跟踪用户走路的位置,但是您需要知道这是最耗电的选项,并且通常被认为是最不可取的选项.但是,如果你想跟踪某人的行走,这就是你需要做的事情.

然而.你说你只想每10分钟左右得到一次更新.在这种情况下,您最好不要使用此策略,而是使用重要的位置更新.如果它关闭,这些将重新启动您的应用程序,但正如您所说,它们不是非常准确.让它们变得更好的诀窍是,一旦应用程序获得重要的位置更新,就可以开始正常的位置更新,并且应该在应用程序再次暂停之​​前获得足够的时间来改善您的位置(通过向您发送更多更新).

它不会是完美的,但它会比使用重要的(即细胞塔)变化更好.

相关文章
相关标签/搜索