如果我在ios中使用NSUrlsession backgroundSessionConfiguration,我可以无限期地运行下载任务(例如1小时)。或者它会在3分钟后被杀死吗?
答案 0 :(得分:0)
是和否。您可以设置下载使用NSURLSession
(或URLSession
在后台运行,因为它在Swift 3中调用。)
我已经用了一段时间了,但这就是我记得的:
当您这样做时,系统将为您管理下载。您的应用可以位于前台,后台或根本不运行,下载仍然继续。如果您的应用在下载完成后不再运行,您的应用将会重新启动。您需要在app委托中实施application:handleEventsForBackgroundURLSession:completionHandler:
方法。有关如何在您的应用未运行时完成下载操作的说明,请参阅该方法的文档。
由于系统接管了后台下载管理工作,因此无法让您的应用在后台运行。它遵循与正常相同的背景规则。 (如果用户切换应用程序,它会很快暂停,并且可以在此之后的任何时间终止。)