在iPhone上无限背景执行

时间:2013-04-02 13:04:56

标签: ios background voip

我正在开发iOS应用程序,应该以特定的间隔(30-3600秒)进行一些后台工作,所以理想情况下我需要为我的应用程序执行无限的后台执行。我正在使用this回答的“更新1”解决方案,但有一个问题。

  1. 我正在使用setKeepAliveTimeout:600 handler:application: didFinishLaunchingWithOptions:委托方法中注册保持活动处理程序;
  2. 致电beginBackgroundTaskWithExpirationHandler:;
  3. 将应用移动到后台。一切都好。计时器正在开火,正在进行中,backgroundTimeRemaining说我有~600秒;
  4. 600秒的应用程序暂停后;
  5. 几秒钟后,保持活动处理程序调用并再次请求后台执行。但这一次backgroundTimeRemaining说我只有大约50秒;
  6. 50秒后应用程序再次暂停;
  7. ~550秒暂停;
  8. GOTO 5。
  9. 我正在使用最新版本的OS(6.1.3)在iPhone 3GS上测试我的应用程序。 所以问题是为什么我在第二次调用beginBackgroundTaskWithExpirationHandler:后只有大约50秒的时间? 在iOS上的后台有短时间间隔(例如30秒)的其他工作吗?

    PS:我正在开发的应用程序用于公司内部使用,因此我不关心Apple拒绝它。

0 个答案:

没有答案