NSTimer在一段时间后在后台停止
当应用程序在后台运行1秒后,我用NSTimer调用了一个方法,在17分钟后,定时器停止工作。
当它回来时,它再次开始工作,所以请告诉我为什么会发生这种情况,以及如何解决这个问题。
为了同样的目的,我也尝试在recursion中使用执行select器,但是又一次给出相同的结果。 请提出任何解决scheme。 任何帮助将完全赞赏。
奇怪的问题 – 我也有这个,但下面的工作对我来说。
//Run the timer on the runloop to ensure that it works when app is in background [[NSRunLoop currentRunLoop]addTimer:self.timer forMode: NSDefaultRunLoopMode];
从实施长期的背景任务 :
对于需要更多执行时间来执行的任务,您必须请求特定的权限才能在后台运行它们,而不会被暂停。 在iOS中,只有特定的应用程序types才能在后台运行:
- 在后台播放可听内容的应用,例如音乐播放器应用
- 随时向用户通知其位置的应用,例如导航应用
- 支持网际协议语音(VoIP)的应用
- 报亭应用程序,需要下载和处理新的内容
- 从外部附件获得定期更新的应用程序
如果只有几分钟的时间是不够的,你不能使一个应用程序运行无限的时间在backgorund, 除非它使用:
- audio播放
- 位置服务
- 外部附件
您可以使用后台任务为所有其他应用程序获取10分钟的运行时间,或使用本地通知通知用户。