在iOS中收到geofence事件n分钟后,如何运行方法?

在iOS中收到geofence事件n分钟后,如何运行方法?,ios,xcode,cllocationmanager,Ios,Xcode,Cllocationmanager,我正在开发一个基于Geofence的iOS应用程序,我想知道用户何时在一个地方停留超过5分钟。 现在,geofence部分已经完成并开始工作了,我得到了“进入”和“退出”事件,但是我想在我进入geofence区域5分钟后执行一些方法,如果我没有离开它的话 这里的主要问题是,在应用程序关闭的情况下,NSTimers将无法工作,我不知道如何关注这一点 有什么想法吗 谢谢你抽出时间 注意:CLVisit类在此情况下无效,因为此类的事件不是“实时”的,我们无法在其中设置时间。当您的应用程序处于活动状态时

我正在开发一个基于Geofence的iOS应用程序,我想知道用户何时在一个地方停留超过5分钟。 现在,geofence部分已经完成并开始工作了,我得到了“进入”和“退出”事件,但是我想在我进入geofence区域5分钟后执行一些方法,如果我没有离开它的话

这里的主要问题是,在应用程序关闭的情况下,NSTimers将无法工作,我不知道如何关注这一点

有什么想法吗

谢谢你抽出时间


注意:CLVisit类在此情况下无效,因为此类的事件不是“实时”的,我们无法在其中设置时间。

当您的应用程序处于活动状态时,您可以使用NSTimer,如下所示:

 let timer = NSTimer(timeInterval: 1.0, target: self, selector: #selector(self.printStr), userInfo: nil, repeats: true)
 NSRunLoop.mainRunLoop().addTimer(timer, forMode: NSRunLoopCommonModes)
此外,如果您的应用程序确实收到了
UIApplicationWillTerminateNotification
事件,您可以将当前日期保存到例如
userDefaults
,并在用户再次运行应用程序后使用它。另一种方法是使用
UILocalNotification
在收到
AppWillTerminate
事件后,应安排
UILocalNotification
并在5分钟后触发


希望它能帮助您

尝试设置通知?我正在尝试在不使用后端任务的情况下设置通知。因为如果将来有很多人使用它,那么安排大量通知来了解这一点是没有意义的。但我记住了;)是的,这里的问题是,当用户停留>=5分钟时,我只想“跟踪”。我不想显示本地通知,而且我知道,没有本地静默通知。