发送http发布请求时,NSURLErrorDomain代码= -1001错误
我正在使用下面的代码发布图像到我的服务器。
@IBAction func postButtonPressed(sender: UIButton) { let task = NSURLSession.sharedSession().dataTaskWithRequest(createRequest("http://xx.xx.xxx.xxx/xxxx/"), completionHandler: { data, response, error in println(NSString(data: data, encoding: NSUTF8StringEncoding)) }) task.resume() }
createRequest()
创build所需的NSURLRequest对象。
当我使用模拟器时,这工作正常 。 问题是当我在iPhone上运行我的应用程序时,出现以下错误。
Error Domain=NSURLErrorDomain Code=-1001 "The operation couldn't be completed. (NSURLErrorDomain error -1001.)" UserInfo=0x155e71f0 {NSErrorFailingURLKey=http://xx.xxx.xxx.xxx/xxxx/, NSErrorFailingURLStringKey=http://54.148.156.117/query/, NSUnderlyingError=0x155674d0 "The operation couldn't be completed. (kCFErrorDomainCFNetwork error -1001.)"}
我已经知道这个错误是一个超时错误。 重新启动应用程序或电话没有帮助。 此外,我试图从Web浏览器发布图像到我的服务器,它没有问题。
什么可能导致这个超时错误?
编辑:当我监视我的networking活动,我意识到应用程序发送10 MB数据,即使我发送的图像是0.1 MB。
显然,我的发布请求正在发生超时错误,因为我发送的映像服务器会发现太大。 我缩小了图像,以使我的图像可以被服务器接受。
正如本文所示, NSURLErrorDomain Code=-1001
错误可能是由许多因素造成的,包括:
- 服务器响应时间限制
- 有关传入数据的服务器规则
- authentication问题
希望对别人有帮助
在我的案例问题是在第三方库 – FirebasePerformance
。 错误报告URL: https : //github.com/firebase/firebase-ios-sdk/issues/486