我工作在一个新的应用程序写在swift中,我看过这个错误消息垃圾邮件遍及所以说:重新启动模拟器。Swift NSURLConnection立即返回1005错误
在我的情况下,这似乎不是答案,似乎使用完全相同的方法编写的一个较旧的应用程序编写的Objective-C工作正常,但是当我将NSUrlConnection调用到Api(我们的)它似乎不适用于新的应用程序。
响应是一个适当的200与一些JSON数据,没有重定向它工作正常我正在同时开发的Android应用程序。
basicly我有:
func getRequest() -> NSMutableURLRequest {
let request = NSMutableURLRequest(URL: NSURL(string: package.fullPath)!)
request.HTTPMethod = package.apiMethod.description;
request.HTTPBody = "hi".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
return request;
}
func execute() {
conn = NSURLConnection(request: getRequest(), delegate: self);
if let c = conn {
Debug.log("** api-connection-start **");
}
}
相关侦听器(该类实现NSURLConnectionDataDelegate):
func connection(connection: NSURLConnection!, didReceiveResponse response: NSURLResponse!) {
Debug.log("** api-recieved-url-response? **")
let httpResponse = response as NSHTTPURLResponse
statusCode = httpResponse.statusCode
}
func connection(connection: NSURLConnection!, didReceiveData data: NSData!) {
Debug.log("** api-recieving-data **")
self.responseData.appendData(data)
}
func connection(connection: NSURLConnection, didFailWithError error: NSError) {
Debug.log("** api-fail-with-error **")
ErrorClass.message(error)
if let responseListener = listener {
responseListener.onError(package, error:error)
}
}
我对所有这些辅助方法断点,只有didFailWith错误会立即调用的错误包含:
2015-03-31 16:58:29.853 myappname[537:4136] {
NSErrorFailingURLKey = "http://xxxxxxxx/valid/api/call";
NSErrorFailingURLStringKey = "http://xxxxxxxx/valid/api/call";
NSLocalizedDescription = "The network connection was lost.";
NSUnderlyingError = "Error Domain=kCFErrorDomainCFNetwork Code=-1005 \"The network connection was lost.\" UserInfo=0x7fdf3bc465d0 {NSErrorFailingURLStringKey=http://xxxxxxxx/valid/api/call, NSErrorFailingURLKey=http://xxxxxxxx/valid/api/call, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4, NSLocalizedDescription=The network connection was lost.}";
"_kCFStreamErrorCodeKey" = "-4";
"_kCFStreamErrorDomainKey" = 4;
}
显然我替换d公司名称和确切的称为网址,因为我不能分享这些,我可以保证这些都是正确的。
有没有人看到造成我的组织的错误?
1005网络连接丢失。你确定你已经连接到互联网 – sasquatch 2015-03-31 17:57:52
polder objectieve c app连接使用nsurl连接就好了。使用Safari浏览器的Alsof也可以运行 – 2015-03-31 21:53:07
我觉得它现在可以正常工作,即使我昨天甚至重新启动了,但我想我应该花更多时间在完全清理项目并除去重新启动的情况下进行清理。 – 2015-04-01 06:43:39