首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调试URLSession (在iOS 10中)

调试URLSession (在iOS 10中)
EN

Stack Overflow用户
提问于 2016-09-28 20:24:58
回答 1查看 1.2K关注 0票数 0

对于创建和恢复URLSessionDataTaskURLSessionDataTask,我遇到了麻烦,因为我期望会话的(和任务的)委托中的某些方法随后调用,但显然没有发生这样的调用。

在这种情况下,我如何调试URLSession?例如,我是否可以请求它的日志输出,例如,查找它何时发送或接收HTTP通信量,或者当它试图在委托中调用一个方法时,但却找不到相关的实现(例如,因为实现中的方法签名可能稍微关闭)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-29 02:34:18

现在(开始)按预期调用委托方法。解决方案包括从URLSessionDataDelegateURLSessionTaskDelegate的代码库复制方法签名(而不是它们的文档),以确保精确匹配。查看设备日志输出(标记为libsystem_network.dylib<Debug>的行)也很有帮助。目前所采用的签名方法如下:

代码语言:javascript
复制
public func urlSession(_ session: URLSession, 
                       task: URLSessionTask, 
                       didReceive challenge: URLAuthenticationChallenge,
                       completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Swift.Void) {
  // ...
}

public func urlSession(_ session: URLSession, 
                       dataTask: URLSessionDataTask, 
                       didReceive data: Data) {
  // ...
}

public func urlSession(_ session: URLSession, 
                       task: URLSessionTask, 
                       didCompleteWithError error: Error?) {
  // ...
} 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39757016

复制
相关文章

相似问题

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