Pourquoi NSURLConnection a échoué avec l'Erreur de Domaine=NSURLErrorDomain Code=-1005 “La connexion réseau a été perdue”. à Swift iOS8?
J'utilise Xcode beta6.
J'ai créé une application qui ont un Téléchargeur de la classe, et c'est le Downloader classe:
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)
}
}
Cette classe fonctionne bien et obtenir le bon résultat JSON lorsque le serveur est sur le réseau avec un câble LAN mais quand ce serveur connecté au même réseau via le WiFi, j'obtiens cette erreur à partir de l'appareil iOS:
Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost."
Mais c'est vraiment bizarre, parce que si je colle le json chemin vers le navigateur, je vois le json.. Donc uniquement sur les appareils iOS cant handle, mais je ne sais pas ce que je dois corriger..
Quelqu'un peut-il m'aider?
Donc Si mon Mac mini que j'utilise pour développer le réseau, et le Serveur sur le réseau local, tout fonctionne bien.
Mais quand mon Mac mini est sur le WiFi et mon serveur est sur le Wifi, j'obtiens cette erreur...
Double Possible de NSURLConnection requête GET retourne -1005, "la connexion réseau a été perdue"
OriginalL'auteur szuniverse | 2014-09-03
Vous devez vous connecter pour publier un commentaire.
Bien, ma première question est: avez-vous essayé d'accomplir la même tâche à l'aide de la même logique/code en Objective-C /iOS 7? Cela nous donnerait une idée si c'est un problème dans Swift, iOS 8, ou d'un problème dans votre code. Si vous avez, merci de poster ce code dans une modification/mise à jour.
Deuxième question: Pourquoi êtes-vous en substituant les accept-encoding? De nombreux serveurs besoin de quelque chose, il y si vous spécifiez la valeur d'en-tête. Le meilleur de l'enlever.
Troisième question: Quelle est la version de l'iOS 8 bêta êtes-vous en cours d'exécution? FWIW, une simple recherche DONC a montré à cette question:
Erreur de Domaine=NSURLErrorDomain Code=-1005 "La connexion réseau a été perdue."
de sorte qu'il pourrait être un bug dans iOS 8 bêta. Je vous suggère d'essayer objective-c en premier, et si c'pauses, goto les forums de développeurs et de poster votre question pour obtenir d'Apple l'attention sur elle. Vous pouvez également ouvrir un Radar.
C'est un ensemble différent de circonstances, de manière sans doute de bons de souscription d'une nouvelle question (n'hésitez pas à lien avec appropriée journaux et je vais prendre un coup d'oeil.) Cela étant dit, avez-vous vu le plus tard réponses sur ma réponse est le lien? Il semble y avoir une certaine étrangeté, avec HTTP Keep-alive sur iOS 8 NSURLConnection. C'est peut-être le faire?
Ahh, j'ai complètement raté votre lien. C'est certainement la même keep-alive question. Merci.
Je suis confronté à un problème lors de l'impact de l'API de type GET dans didfinshluanchingwithoptions méthode délégué d'application. Mais même API frappé par tout autre point de vue, contrôleur, il fonctionne très bien. Erreur "La connexion réseau a été perdue" à chaque fois
OriginalL'auteur Matt S.
J'ai complètement résolu ce problème par la suppression de mon réseau Wi-Fi de connexion et de ré-instancier en choisissant à partir de la liste des connexions réseau et fournir le mot de passe de nouveau. Voir mon débordement de pile de réponse ici, au bas de la page:
NSURLConnection requête GET retourne -1005, "la connexion réseau a été perdue"
OriginalL'auteur pcJmac