nsurlsessiondownloadtask
全部标签 在将NSURLSessionDataTask转换为NSURLSessionDownloadTask时,我们遇到了数据丢失。具体来说,对于大于16K的文件,我们将丢失前16K字节(正好是16384字节)。写入磁盘的文件比初始响应的长度短....很长的帖子,感谢您的阅读和任何建议。更新2014-09-30-最终修复所以我最近再次遇到了同样的行为,并决定深入挖掘。事实证明,MattT(AFNetworking的作者)发布了一个修改AFURLSessionManager-respondsToSelector的提交。方法,如果任何可选委托(delegate)调用未设置为block,它将返回NO。
最初我认为如果NSURLSessionDownloadTask成功完成URLSession:downloadTask:didFinishDownloadingToURL:方法将被调用,如果它由于某种原因失败-URLSession:task:didCompleteWithError:。它在模拟器上按预期工作(一个下载任务只调用此方法中的一个)但在设备上情况并非如此:如果失败,这两个方法都会被调用,URLSession:downloadTask:didFinishDownloadingToURL:成为第一个。(这两种方法都在参数中传递相同的任务)有什么我想念的吗?
我遇到了一个奇怪的问题。我使用NSURLSession和NSURLSessionDownloadTask从Internet加载文件。这是代码NSURLSessionConfiguration*sessionConfiguration=[NSURLSessionConfigurationbackgroundSessionConfiguration:kSessionId];self.session=[NSURLSessionsessionWithConfiguration:sessionConfigurationdelegate:selfdelegateQueue:[NSOperation
这就是我使用NSURLSessionDownloadTask的方式:letsessionConfiguration=NSURLSessionConfiguration.defaultSessionConfiguration()letsessionManager=AFURLSessionManager(sessionConfiguration:sessionConfiguration)ifleturl=NSURL(string:URLString){letrequest=NSURLRequest(URL:url)letsessionDownloadTask=sessionManager.
我在NSURLSession上使用NSURLSessionDownloadTask对象,以允许用户在应用程序处于后台/设备锁定时下载文档。我还想通过本地通知通知用户个别下载已完成。为此,我在-URLSession:downloadTask:didFinishDownloadingToURL:下载任务委托(delegate)方法中触发本地通知,但是我想知道是否有更好的地方添加代码触发一个通知,因为Apple解释它的方式,下载任务将被传递到系统,并且我从中得出一旦应用程序后台(或之后不久)将不会再在下载任务的委托(delegate)上调用这些委托(delegate)。我的问题:添加触发本地
我已经实现了NSURLSessionDownloadTask来同时下载多个视频。在正常情况下,一切正常。后台获取也可以正常工作。但是当我关闭应用程序并重新启动应用程序并执行相同的downloadTask:didFinishDownloadingToURL时,我得到的临时文件路径是错误的。该文件不存在于路径中。当我通过finder检查路径时,我发现文件存在,唯一的区别是提供的路径不包含文件名,并且还存在和应该存储文件的父文件夹同名的额外文件夹。请找到下面分享的路径/Users/sfm/Library/Developer/CoreSimulator/Devices/EB96B330-492
我正在使用新的NSURLSessionAPI并允许用户下载文件。我想尝试告诉我的NSURLSession要同时运行多少个下载,但我看不到这样做的方法。我想尽量避免自己管理下载任务,如果我能告诉系统允许多少下载会更好——这对于排队后台下载以及当我的应用程序未运行时会更好。有办法做到这一点吗? 最佳答案 您可以使用HTTPMaximumConnectionsPerHost属性在NSURLSessionConfiguration对象中设置它。 关于ios-使用NSURLSessionDownl