发送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