首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >URLSession didCompleteWithError零误差

URLSession didCompleteWithError零误差
EN

Stack Overflow用户
提问于 2016-04-08 17:09:46
回答 1查看 3.8K关注 0票数 6

在IOS9应用程序上工作,该应用程序在控制器( NSURLSessionDelegate )中执行后台URLSession。我是这样开始的:

代码语言:javascript
复制
    self.session_data = [[NSMutableData alloc] init];
    NSURL *url = [NSURL URLWithString:src];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    NSURLSessionConfiguration *backgroundConfigObject = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier: @"myBackgroundSessionIdentifier"];
    self.session = [NSURLSession sessionWithConfiguration: backgroundConfigObject delegate: self delegateQueue: [NSOperationQueue mainQueue]];

    self.download = [self.session dataTaskWithRequest: request ];
    [self.download resume];

到目前一切尚好。我实现了三种委托方法。“didReceiveData”首先被命名为“”,我存储数据。

代码语言:javascript
复制
- (void)URLSession:(NSURLSession *)session
      dataTask:(NSURLSessionDataTask *)dataTask
     didReceiveData:(NSData *)data{

   NSLog(@"%s",__func__);
   [self.session_data appendData:data];
}

就在那之后,“didCompleteWithError”就被称为。从未调用“completionHandler”处理程序。

令人困惑的是,“didCompleteWithError”消息的实际错误对象为零。我也见过一些类似的未回答的问题。加载时,我不会离开控制器/视图。我需要将这个功能移到AppDelegate中吗?

EN

回答 1

Stack Overflow用户

发布于 2016-05-15 16:58:57

Apple表示,didCompleteWithError只报告客户端错误,否则为0:

“服务器错误不通过错误参数报告。您的委托通过错误参数接收的唯一错误是客户端错误,例如无法解析主机名或连接到主机。”

这是文档的链接

如果要检查其他错误,如会话的错误,则必须实现会话协议委托

代码语言:javascript
复制
- URLSession:didBecomeInvalidWithError:

有关详细信息,请参阅答案

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36505444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档