¿Por qué NSURLConnection falló con Error Domain = NSURLErrorDomain Code = -1005 "Se perdió la connection de networking" en Swift iOS8?

Yo uso Xcode beta6. Creé una aplicación que tiene una class Downloader, y esta es la class Downloader:

class Downloader : NSObject { private var _connection : NSURLConnection? private var _downloadedData: NSMutableData? func getDataFromURLString(urlToRequest: String!, aType: DownloadedDataType) { _downloadedData = NSMutableData() var request : NSMutableURLRequest = NSMutableURLRequest(URL: NSURL(string: urlToRequest), cachePolicy: .ReloadIgnoringLocalCacheData, timeoutInterval: 20.0) request.setValue("", forHTTPHeaderField: "Accept-Encoding") self._connection = NSURLConnection(request: request, delegate:self) } func connection(connection: NSURLConnection!, didReceiveResponse response: NSURLResponse!) { println("Data expected size: \(response.expectedContentLength)") } func connectionDidFinishLoading(connection: NSURLConnection!) { println("finished") } func connection(connection: NSURLConnection!, didFailWithError error: NSError!) { println("error: \(error)") } func connection(connection: NSURLConnection!, didReceiveData data: NSData!) { _downloadedData?.appendData(data) } } 

Esta class funciona bien y obtiene el resultado JSON correcto cuando el server está en la networking con un cable LAN, pero cuando este server se conecta a la misma networking a través de Wi-Fi, obtengo este error del dispositivo iOS:

 Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." 

Pero es realmente extraño porque si pego la ruta json al browser, veo el json … Entonces, solo en los dispositivos con iOS no puedo manejarlo, pero no sé qué solucionar … ¿Alguien me puede ayudar?

Entonces, si mi Mac mini, lo que uso para desarrollar está en Lan, y el Servidor está en Lan, todo funciona bien. Pero cuando mi Mac mini está en WiFi y mi server está en Wifi, recibo este error …

Bueno, mi primera pregunta es ¿has intentado realizar la misma tarea usando la misma lógica / código en Objective-C / iOS 7? Esto nos daría una idea si es un problema en Swift, iOS 8 o un problema en su código. Si tiene, publique este código en una edición / actualización.

Segunda pregunta: ¿Por qué estás anulando la encoding de aceptación? Muchos serveres requieren algo allí si especifica el valor del encabezado. Lo mejor para eliminar eso.

Tercera pregunta: ¿Qué versión de iOS 8 beta está ejecutando? FWIW, una simple búsqueda de SO mostró esta pregunta: Error Domain = NSURLErrorDomain Code = -1005 "Se perdió la connection de networking".

por lo que podría ser un error en iOS 8 betas. Sugiero probar primero el objective c, y si eso también se rompe, ve a los foros de desarrolladores y publica tu problema para llamar la atención de Apple. También es posible que desee abrir un radar para ello.

Solucioné completamente este problema eliminando mi connection de networking Wi-Fi y volviéndolo a instanciar eligiéndolo de la list de conexiones de networking y proporcionando la contraseña nuevamente. Vea mi respuesta de desbordamiento de stack aquí en la parte inferior de la página:

NSURLConnection GET request devuelve -1005, "se perdió la connection de networking"