所以,我读过,在iOS上,当你的应用程序在后台运行的所有定时器将暂停。 我也看到了,你可以使用运行在BG任务beginBackgroundTaskWithExpirationHandler
( 像这样 )。
我想实现是调用的方法每3分钟,而另一种方法的时间固定量的第一个前。 我设法一个内做到这一点NSTimer
其重复的方式,让我做到这一点。 它工作正常,但显然是禁用(或暂停)当应用程序在后台 - 我只能因为上述原因承担。
有谁知道,如果有运行计时器的方式,或者至少调用一些特定的时间量之后,这样我就可以做到这一点?
基本上,如果你想继续在后台运行的活动,你必须满足以下要求之一。 从苹果的文档:
实现长时间运行的后台任务
对于需要更多时间执行任务的落实,必须要求特定的权限,以在没有他们被暂停后台运行它们。 在iOS中,只有特定的应用程序类型被允许在后台运行:
- 应用程序在后台播放音频内容给用户,同时,诸如音乐播放器应用程序
- 应用程序,使用户了解自己的位置在任何时候,如导航应用
- 支持互联网协议语音应用(VoIP)的
- 需要下载和处理新的内容报亭应用
- 从外部附件收到定期更新的应用
实现这些服务的应用必须声明它们所支持的服务和使用的系统架构来实现这些服务的相关方面。 声明的服务让系统知道哪些服务可以使用,但在某些情况下,它是实际防止被暂停您的应用程序的系统框架。
http://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html#//apple_ref/doc/uid/TP40007072-CH4-SW24