Reminders应用程序如何知道仅在提醒当天跟踪我的位置?

Chr*_*ner 5 core-location ios uilocalnotification geofencing

在iOS 5中引入的Reminders应用程序中,您可以设置地理围栏,因此当您靠近地址时,提醒会发出警报.基于位置的提醒也可以针对特定日期进行配置.Apple非常有效地处理基于位置和时间的提醒,因为他们在提醒之前不会开始跟踪您的位置.

例:

这是星期一,我提醒周三提醒我什么时候回家取出垃圾.

如果你注意,你会注意到电池寿命指示器旁边的位置服务指示灯(紫色三角形)将不会出现,直到周三午夜.

我很好奇是否有一个公共API允许您的应用程序响应这样的时间更改或者如果他们使用某些私有API.

我能够找到UIApplicationSignificantTimeChangeNotification,applicationSignificantTimeChange:但在文档中说明了

如果您的应用程序当前处于挂起状态,则此消息将排队,直到您的应用程序返回到前台,此时它将被传递.

所以它让我相信这不起作用.

我的另一个想法是使用UILocalNotification并设置您感兴趣的时间的通知以及何时触发该通知,执行代码以启用位置服务.由于我缺乏UILocationNotification的经验,但我知道是否可以执行此类代码.

有谁知道如何实现这一目标?

Nik*_*Loy 0

您可以设置本地通知(远程通知),其中包含在您想要激活功能的当天激活地理围栏的信息。

这会在 appDelegate 的“didReceiveLocalNotification”方法中唤醒您的应用程序,然后您将代码放置在地理围栏中。