在iphone6上用NSURLSessionTask发送请求的时候出现了这个问题
Error domain: @"NSURLErrorDomain" - code: 18446744073709550614
出现的背景:
测试的时候用的是其他设备,一切都正常,后台服务器的同事用的是iphone 6的设备,他自己测试的时候说一直收不到请求。怎么可能,肯定是他用的是其他什么版本。然后我就拿他的手机来看,结果我就懵逼了,然后服务器的同事当然就开心的开始叼我了。
解决方法:
直接在网上找相关的问题是很困难的,但只需要在命令行 po 一下,就变得简单了。在回调的地方打一个断点,然后在 po error,报的错误就变成了
[Error Domain=NSURLErrorDomain Code=-1002 ]
Code=-1002 "unsupported URL"
url 编码问题,对整个url重新处理一次字符就行了
urlString = [urlString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"`#%^{}\"[]|\\<> "].invertedSet];
如果需要适配 iOS 8 的设备,就用utf8转码的方法
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
参考链接
http://www.devsplanet.com/question/35368512
http://www.163java.com/l/x261266108972633722/custom-made-web-service-returning-nil-in-ios-swift-2-0
http://blog.csdn.net/lqq200912408/article/details/52252940