重大更改位置更新会唤醒系统和您的应用一次 即使没有位置变化,至少每15分钟一次 发生。
但它没有按照描述的那样工作......
在我的Xamarin.iOS项目中,我使用
_locationManager = new CLLocationManager
{
PausesLocationUpdatesAutomatically = false,
};
_locationManager.StartMonitoringSignificantLocationChanges();
*我在这里跳过所有权限检查并删除了配置。更新工作正常,应用程序接收更新,但仅在真正移动的情况下,而不是每15分钟:如果设备未移动可能需要数小时。
我也看到this question and answer with NSTimer,但即使应用程序被终止或背景化,我也需要这些更新。
答案 0 :(得分:0)
根据a reply的Apple工作人员this thread on the Apple developer forums,文件与您之间的差异,以及我自己观察的原始海报(即与记录的内容形成对比,每15分钟可能没有更新。
请注意文档中的措词:“每15分钟,至少”。我们似乎都将“最小”解释为最小频率(即每15分钟一次,或每15分钟两次或更多次)。但它也可以被读作最小时间间隔(即每15分钟,或每30分钟或更长)。它不能保证频繁发生,而是设定对更新罕见的期望。文档没有错,但肯定会有多种解释。
重要的是Apple工作人员在回复中说明了什么:
[...]仅使用[重要位置更改]并不能保证您的应用将以 [原文如此] 的某些定期费率恢复。
PS。对于那些可以对文档做些什么的人:rdar:// 30345408(不是我的)