【问题标题】:iOS Background ExecutioniOS 后台执行
【发布时间】:2015-09-06 12:37:27
【问题描述】:

我正在尝试了解 Apple 的后台执行文档:

一旦配置好,你的 NSURLSession 对象就会无缝地完成上传 并在适当的时候将任务下载到系统中。如果任务完成 当您的应用仍在运行时(在前台或 背景),会话对象以通常的方式通知其委托 方法。如果任务尚未完成且系统终止您的 应用程序,系统自动继续管理应用程序中的任务 背景。如果用户终止您的应用程序,系统将取消任何 待处理的任务。

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

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

【问题讨论】:

    标签: ios


    【解决方案1】:

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

    你没有仔细阅读。

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

    iOS 会杀死后台的应用程序,并让用户看起来好像它们仍在运行。

    【讨论】:

      猜你喜欢
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-16
      • 2016-08-05
      相关资源
      最近更新 更多