我工作在一個新的應用程序寫在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