草庐IT

urlsession

全部标签

ios - 使用 urlsession 下载文件

我正在尝试使用urlsession后台session下载这是我的主要功能funcstartfresh(){session=URLSession(configuration:config,delegate:self,delegateQueue:OperationQueue())leturl=URL(string:"https://nava.ir/wp-content/uploads/2018/08/Gholamreza-Sanatgar-Dorooghe-Sefid-128.mp3")task=session.downloadTask(with:url!)task.resume()}和我

ios - URLSession 在 iOS 13 上不遵循 302s

在运行iOS13的设备上运行我的代码时,我收到了一个错误,我在任何以前的iOS版本上都没有看到。我得到:NSURLConnectionfinishedwitherror-code-1007我的代码是URLSession.shared.dataTask(with:url){(_,res,_)in//Dostuff}.resume()服务器以302响应并在以前的iOS版本上正常解析(重定向一次并解析)。在iOS13上,它一直重定向到原始URL,直到它说重定向太多。这是iOS13的错误还是我应该做些不同的事情? 最佳答案 此问题已通过XC

ios - 从 URLSession 返回的位置没有数据( session :downloadTask:didFinishDownloadingToURL location)

我正在使用标准后台session来处理后台提取。操作开始正常并回调:URLSession(session:downloadTask:didFinishDownloadingToURLlocation)被定期调用,但是当我检查位置url的内容时,我发现没有。我检查了正在处理的url,它是好的,当在浏览器上提交时正确返回数据。可能是什么?我知道我需要复制数据,因为它在临时缓存中,但当它应该还在时我立即检查了它的内容。这是我的代码:letspan:Float=0.005funchandleRemoteFetch(completionHandler:((UIBackgroundFetchRes

Swift 重复的 URLSession 造成大量内存泄漏

我有一个应用程序可以(部分地)向用户显示Wi-Fi连接的当前下载速度。它通过打开一个URLSession并下载一个中等大小(~10MB)的文件并测量它所花费的时间来做到这一点。这是URLSession函数:functestSpeed(){Globals.shared.dlStartTime=Date()Globals.shared.DownComplete=falseifGlobals.shared.currentSSID==""{Globals.shared.bandwidth=0Globals.shared.DownComplete=true}else{leturl=URL(str

swift - RxSwift URLSession 请求已处理

我正在学习使用RxSwift,但我一直在使用这个简单的代码。我的意图是采用APIRequest类型,就这么简单:publicprotocolAPIRequest:Encodable{associatedtypeResponse:Decodablevarpath:String{get}}将其传递给API客户端并最终返回类型为T.Response的Observable,但是,我经常在控制台中看到cancelled状态:2019-07-0110:46:04.847:testapirequest->subscribed2019-07-0110:46:04.855:testapirequest-

ios - 身份验证挑战后未调用 URLSession 委托(delegate)

我正在对服务器进行后调用,但我一直收到服务器证书无效的错误消息,因此在研究之后我发现我必须使用身份验证质询来信任服务器。这一切都很好(我打印了身份验证挑战以确保它确实如此)但是其余的调用没有通过并且我无法从我的服务器获取信息,身份验证挑战后没有任何反应,通常我希望被返回数据。但是什么也没有发生,我的urlsessiondatadelegates都没有被调用(检查中断)。谁能看出这是为什么?代码:varrequest=URLRequest(url:URL(string:"https://45.56.105.97:7915/search-v2")!)request.httpMethod="

ios - 同一服务器的不同 REST 端点的 URLSession

我有一个应用程序可以从一堆不同的ViewController对同一服务器进行一大堆不同的REST调用。关于URLSession的最佳实践是什么:共享同一个URLSession对象?或者只是URLSessionConfiguration对象?或者两者都不重要?例如,当向端点发出请求时,我应该使用共享的URLSessionConfiguration为每个请求实例化一个全新的URLSession?为当前事件的应用实例实例化一次单个URLSession,然后在所有请求中重用它? 最佳答案 创建多个URLSession不是最佳实践。Apple

swift - URLSession 问题

我正在将我的项目转换为Swift3。我在Swift2.2中有这段代码:lazyvardownloadsSession:NSURLSession={letconfiguration=NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("bgSessionConfiguration")letsession=NSURLSession(configuration:configuration,delegate:self,delegateQueue:nil)returnsession}()并将代码转换为Swi

iOS Swift 3 为同步和异步请求创建 URLSession 扩展

我准备在Swift3中为URLSession创建一个扩展来创建同步和异步请求。这是我的实现extensionURLSession{funcsendSynchronousRequest(request:URL,completionHandler:@escaping(Data?,URLResponse?,Error?)->Void){letsemaphore=DispatchSemaphore(value:0)lettask=self.dataTask(with:request){(data,response,error)incompletionHandler(data,response,

swift - 将 Alamofire 调用转换为 URLSession

我有一个旧的代码库,我正试图从中迁移出去。网络调用目前使用Alamofire4.0,我正在尝试使用URLSession。我无法弄清楚出了什么问题,这就是我一直在做的事情。我从要发布的路线和参数开始://routetousercreationleturl=...letparams=["user":["first_name":"John","last_name":"Appleseed","email":"john@apple.com","password":"asdfgh"]]这是新旧网络调用://oldnetworkrequestAlamofire.request(url,method: