Verwenden von Swift und NSURLSession. Die NSError localizedDescription, die ich erhalte, ist sehr generisch, wenn ich keine Internetverbindung habe (manuell ausgeschaltetes WLAN/Zellennetzwerk). Er sagt: „Der Vorgang konnte nicht abgeschlossen werden.“NSURLSession-Fehlerbehandlung
var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
Ich bin für eine bestimmte Nachricht suchen, um den Benutzer zu senden. Ich habe einen Haltepunkt aktiviert und alle Objekte überprüft, kann aber nichts Gutes finden.
Vor swift Ich war AFNetworking mit Objective-C mit:
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
Die Fehlermeldungen ich hier waren sehr beschreibend bekommen würde, so etwas wie "die Internet-Verbindung scheint offline zu sein"
Sie müssen Internetfehler selbst behandeln. 'AFNetworking' implementiert' Erreichbarkeit' selbst, deshalb sind ihre Fehler beschreibender und kontextbezogener. Zusätzlich können Sie 'AFNetworking' in Ihrem schnellen Projekt verwenden, wie hier beschrieben.[AFNetworking Integrate Swift] (https://medium.com/@aommiez/afnetwork-integrate-swfit-80514b545b40) –
hmm versuchte, sich von der Abhängigkeit externer Bibliotheken zu lösen. Aber es sieht so aus, als würde ich Alamo Fire (AFNetworking Version von Swift) und dann https://github.com/Alamofire/Alamofire verwenden. – MobileMon
Eine kleine Klarstellung: Ich stimme zu, dass Bibliotheken wie Alamofire und AFNetworking eine bessere Fehlerbehandlung bieten, aber es ist, weil sie reche auf Dinge, nach denen wir sonst manuell suchen müssen (zB 'Content-Type',' StatusCode' der 'NSHTTPURLResponse', etc.). Dies hat nichts damit zu tun, dass AFNetworking die Erreichbarkeit anbietet (aber nicht standardmäßig verwendet). Bei allgemeinen Netzwerkfehlern geben sie einfach dieselben "NSError" -Objekte zurück, die wir selbst erhalten, wenn wir dies manuell tun. – Rob