iOS后台执行

时间:2015-09-06 12:37:28

标签: ios

我正在尝试了解Apple的背景执行文档:

  

配置完成后,您的NSURLSession对象将无缝地上传   并在适当的时候将任务下载到系统。如果任务完成   当你的应用程序仍在运行时(无论是在前台还是在   background),会话对象通常会通知其委托   办法。如果任务尚未完成,系统将终止您的   应用程序,系统自动继续管理任务   背景。如果用户终止您的应用,系统将取消任何应用   待定任务。

     

当与后台会话关联的所有任务都是   完成后,系统重新启动已终止的应用程序(假设是   sessionSendsLaunchEvents属性设置为YES,用户确实如此   不强制退出应用程序)并调用应用程序委托   应用:handleEventsForBackgroundURLSession:completionHandler:   方法。 (系统还可以重新启动应用程序以处理身份验证   挑战或其他需要您的应用程序的任务相关事件   注意。)在你的委托方法的实现中,使用   提供标识符以创建新的NSURLSessionConfiguration和   NSURLSession对象具有与以前相同的配置。系统   将新会话对象重新连接到以前的任务和报告   他们的状态到会话对象的委托。

如果我使用NSURLSession,那么当应用程序在上传进程仍在进行时进入后台时,只要应用程序未被用户终止,该进程就不会被终止或死亡(我假设这是通过从应用列表中删除我的应用程序)?

1 个答案:

答案 0 :(得分:3)

仔细阅读文字。作为所有好的文档,它非常清楚地说明了它的含义,你只需要仔细阅读它。

你没仔细看过。

有三种情况:当任务完成时,您的应用仍在运行,当上一个任务完成时,系统已关闭您的应用,或者用户在上一个任务完成之前关闭了应用。不,它没有说应用程序保持活着的任何地方。文档清楚地说明了每种情况下会发生什么。

iOS会杀死后台应用,并使用户看起来像是在运行。