我正在开发iOS应用程序,应该以特定的间隔(30-3600秒)进行一些后台工作,所以理想情况下我需要为我的应用程序执行无限的后台执行。我正在使用this回答的“更新1”解决方案,但有一个问题。
setKeepAliveTimeout:600 handler:
在application: didFinishLaunchingWithOptions:
委托方法中注册保持活动处理程序; beginBackgroundTaskWithExpirationHandler:
; backgroundTimeRemaining
说我有~600秒; backgroundTimeRemaining
说我只有大约50秒; 我正在使用最新版本的OS(6.1.3)在iPhone 3GS上测试我的应用程序。
所以问题是为什么我在第二次调用beginBackgroundTaskWithExpirationHandler:
后只有大约50秒的时间?
在iOS上的后台有短时间间隔(例如30秒)的其他工作吗?