5

在 iOS 5 引入的提醒应用程序中,您可以设置地理围栏,这样当您靠近某个地址时,您的提醒就会发出警报。还可以为特定日期配置基于位置的提醒。Apple 在处理基于位置和时间的提醒方面非常有效,因为他们在提醒当天才开始跟踪您的位置。

例子:

今天是星期一,我设置了一个星期三的提醒,提醒我什么时候回家倒垃圾。

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

我很好奇是否有一个公共 API 允许您的应用程序响应这样的时间变化,或者他们是否正在使用一些私有 API。

我能够找到UIApplicationSignificantTimeChangeNotificationapplicationSignificantTimeChange:但在文档中说明

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

所以这让我相信这是行不通的。

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

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

4

1 回答 1

0

您可以使用信息设置本地通知(远程通知),以在您想要激活功能的那一天激活地理围栏。

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

于 2014-03-13T10:35:31.023 回答