Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
macOS上的NSURLSession后台配置优势_Macos_Nsurlsession_Nsurlsessionconfiguration - Fatal编程技术网

macOS上的NSURLSession后台配置优势

macOS上的NSURLSession后台配置优势,macos,nsurlsession,nsurlsessionconfiguration,Macos,Nsurlsession,Nsurlsessionconfiguration,在iOS上,使用后台配置初始化NSURLSession对于在应用程序处于后台时获得上载和下载的好处至关重要: Swift 2中的示例: let configuration = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("SomeSessionName"); NSURLSession(configuration: configuration, delegate: self, delegateQueu

在iOS上,使用后台配置初始化NSURLSession对于在应用程序处于后台时获得上载和下载的好处至关重要:

Swift 2中的示例:

let configuration = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("SomeSessionName");
NSURLSession(configuration: configuration, delegate: self, delegateQueue: nil);
在OSX 10.10+上,使用后台会话配置以持续上传或下载应用程序(即使应用程序当前未处于焦点)是否有任何好处?根据我的经验,默认会话配置不易受到bug的攻击:

let configuration = NSURLSessionConfiguration.defaultSessionConfiguration();
NSURLSession(configuration: configuration, delegate: self, delegateQueue: nil);

在OSX上,即使用户退出应用程序,后台下载任务仍会继续运行(只要用户不强制退出应用程序,IIRC)。与iOS不同,下载完成后,它不会在后台重新启动你的应用程序;在用户手动重新启动应用程序并且应用程序与现有命名的后台会话重新关联后,您的应用程序将发现下载已完成

因此,在OSX上使用它们最常见的原因是用于下载大型数据集的游戏。您可以在后台启动下载,让用户继续玩游戏(没有扩展的关卡或其他),即使用户退出游戏,下载也会继续,但下次用户运行游戏时,下载将可用于安装

这就是说,它在OSX上的重要性要小得多,因为您可以选择派生一个子进程来保持运行和下载