2017-05-14 47 views
0

按照documentationiOS的重大改变的位置的事件不更新应用程序,每15分钟

重大变化位置更新唤醒系统和您的应用程序一次 每隔15分钟,在最低限度,甚至如果没有发生位置变化 。

但作为描述它不工作...

在我Xamarin.iOS项目中,我使用

_locationManager = new CLLocationManager 
{ 
    PausesLocationUpdatesAutomatically = false, 
}; 
_locationManager.StartMonitoringSignificantLocationChanges(); 

*我已经跳过这里所有权限检查和plist中的配置。更新工作正常,应用程序收到更新,但只有在真正移动的情况下,不是每15分钟一次:如果设备未移动,可能需要几小时。

我也看到了this question and answer with NSTimer,但即使应用程序被终止或背景,我也需要这些更新。

+0

您是否检查过您的应用程序实际上仍在后台运行并且由于某种原因没有终止? – jcaron

+0

@jcaron,是的,它正在运行(该应用程序正在将日志写入带有时间戳的文件),正如我所说的,即使在应用程序终止后它也会收到更新...问题出现在更新频率中,但绝对不是15分钟 – pifarik

回答

0

根据a reply由苹果公司职员发现至this thread on the Apple developer forums,文档与您,该主题上的原始海报以及我自己正在观察的内容之间可能存在差异(即与文档记载相反,可能存在不会每15分钟更新一次)。

请注意文档中的措词:“每15分钟至少”。我们似乎都已将“最小”解释为最低频率(即每15分钟一次或每15分钟两次或更多)。但它也可以作为最小时间间隔(即每15分钟或每30分钟或更多)阅读。它不能保证有多频繁,而是设定了更新将会如何不频繁的预期。文件没有错,但肯定会有多种解释。

最重要的是什么在他们的答复苹果工作人员指出:

[...]简单地使用[显著位置变化]并不能保证你的应用程序将恢复为[原文]一些周期性率。

PS。对于那些可以做一些有关文档的人:rdar:// 30345408(不是我的)

相关问题