草庐IT

NSUrlSession

全部标签

ios - NSURLSession didCompleteWithError : how to determine what task it is?

我有一个符合用于下载数据的NSURLSession委托(delegate)的类,当完成调用方法funcURLSession(session:NSURLSession,task:NSURLSessionTask,didCompleteWithErrorerror:NSError?),结果在这里被解析和处理以返回到正确的ViewController。我如何知道结果来自哪个session或任务,以便调用正确的ViewController?importFoundationclassSupport{//MARK-PropertiesvarID:Int!varSoftekID:String!var

swift - 这是专门使用 NSURLConnection 来处理可转换为 NSURLSession 的自签名证书吗?

我在用于测试服务的VM中有一个自签名证书。使用在UIWebViewtoviewselfsignedwebsites(Noprivateapi,notNSURLConnection)-isitpossible?中找到的答案我能够编写可正常运行的swift2.0代码。Xcode7告诉我NSURLConnection已弃用,我应该改用NSURLSession。我迁移此代码的尝试均未成功,并且其他答案中描述的常见转换方案似乎都不适用。如果我创建一个新的NSURLSession以使用我的委托(delegate)方法处理身份验证挑战,其他负载仍然发生在sharedSession上,因此失败。var

ios - iOS 8 和 iOS 9 上 NSURLSession 的区别?

我有以下代码来向MediaWiki服务器验证iOS应用程序:lettask=NSURLSession.sharedSession()task.configuration.HTTPAdditionalHeaders=["Authorization":"Basic"+base64EncodedCredentials]task.dataTaskWithURL(url!){(data,response,error)indispatch_async(dispatch_get_main_queue(),{ifdata!=nil{letresult=NSString(data:data!,encod

swift - 有没有办法在带有自定义配置的 NSURLSession 中使用 NSURLProtocol?

我有一个在后台队列中运行的NSURLSession。我将我的NSURLProtocol子类添加到NSURLsessionConfiguration.protocolClases但overrideclassfunccanInitWithRequest(request:NSURLRequest)->Bool永远不会被调用.这就是我添加NSURLProtocol的方式letconfiguration=NSURLSessionConfiguration.defaultSessionConfiguration()configuration.protocolClasses!.append(Mock

ios - NSURLSession 错误处理

使用Swift和NSURLSession。当我没有互联网连接(手动关闭wifi/手机网络)时,我得到的NSErrorlocalizedDescription非常通用。它说“操作无法完成。”vartask=session.dataTaskWithRequest(request,completionHandler:{data,response,error->Voidin我正在寻找要发送给用户的更具体的消息。我启用了一个断点并检查了所有对象,但找不到任何好的东西。在使用swift之前,我使用的是带有Objective-C的AFNetworking:failure:^(AFHTTPReques

ios - 可达性与 NSURLSession 响应检测互联网连接

我正在为我的API调用构建错误案例,并想检查互联网连接不可用时的情况。dataTaskWithRequest似乎可以很好地处理这个问题并返回一个NSError,代码为-1009,并描述没有互联网连接。我不必等待请求超时。在什么情况下我想改用可达性框架?谢谢 最佳答案 我做了一些研究,并在AppleDocs中找到了答案。推荐的最佳做法是尝试连接。如果连接有问题,它会为您提供一个NSError对象,您应该使用该对象来测试连接性。Apple建议仅将可达性用作诊断错误和进一步调试已知问题的方法。似乎您应该只使用可达性来检测网络在发生故障后何

ios - NSURLSession:后台上传然后调用服务api

我正在尝试使用新的ios7后台传输api将一些照片上传到服务器。现在发生的事情是1)我们将字节上传到s32)调用服务api来“完成”上传我看了这个文档,背景NSURLSession似乎不支持“数据”任务。这是否意味着我无法在实际上传完成后在后台执行第2步? 最佳答案 如果您想要一个比为“已完成”的API调用重新利用NSURLSessionDownloadTask更简单的解决方案,您可以在以下回调期间往返快速http调用:-URLSession:task:didCompleteWithError:

ios - NSURLSession 失效并取消 : Bad Access

当我尝试使NSURLSession实例无效时,我遇到了一个奇怪的问题。代码非常简单:我有一个ViewController、两个按钮(开始:和停止:)和一个用于url的文本字段。代码的简单摘录:-(IBAction)start:(id)sender{NSURLSessionConfiguration*conf=[NSURLSessionConfigurationbackgroundSessionConfiguration:@"conf"];self.session=[NSURLSessionsessionWithConfiguration:confdelegate:selfdelegat

ios - NSURLSession HTTP/2 内存泄漏

这个我的测试用例,指出当使用带有HTTP/2连接的NSURLSession时存在内存问题。test1:iOS9.HTTP/2服务器我使用NSURLSession上传10M文件到HTTP/2服务器,如果文件上传完成一切正常,但如果我在上传任务完成之前取消,10M将永远不会释放。测试2:iOS9.HTTPs1.1服务器我用https1.1的文件服务器测试了同样的代码,我取消上传任务或者不取消,一切正常,内存恢复正常。(10M数据释放)test3iOS8.HTTP/2服务器这种情况下一切正常。(NSURLSession没有协议(protocol)协商到HTTP/2)所以,即使有一些不适合我使

ios - 带有 NSURLSession 的 HTTP PUT 方法

我正在为iOS7SDK中引入的NSURLSession类而苦苦挣扎,我被困在一个点上,我需要用调用我的RESTAPIPUT方法。我已经实现了GET和POST方法,使用它可以正常工作:NSMutableURLRequest*request=[NSMutableURLRequestrequestWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicytimeoutInterval:60.0];[requestaddValue:@"application/json"forHTTPHeaderField:@"Content-Type"]