Utilizzo di Swift e NSURLSession. L'NSError localizedDescription che ottengo è molto generico quando non ho una connessione internet (manualmente disattivata la rete wifi/cellulare). Si dice "L'operazione non può essere completata."NSURLManagement degli errori di sessione
var task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
Sto cercando un messaggio più determinata per inviare all'utente. Ho attivato un punto di interruzione e controllato tutti gli oggetti ma non riesco a trovare nulla di buono.
Prima rapida stavo usando AFNetworking con l'obiettivo C:
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
I messaggi di errore vorrei arrivare qui erano molto descrittivo, qualcosa come "la connessione Internet sembra essere offline"
Devi gestire gli errori Internet da solo. 'AFNetworking' implementa' Raggiungibilità' da solo, ecco perché i loro errori sono più descrittivi e consapevoli del contesto. Inoltre, puoi usare 'AFNetworking' nel tuo progetto rapido, come descritto qui.[AFNetworking Integrate Swift] (https://medium.com/@aommiez/afnetwork-integrate-swfit-80514b545b40) –
hmm stava cercando di uscire dalla dipendenza delle librerie esterne. Ma sembra che userò alamo fire (versione AFNetworking di Swift) quindi https://github.com/Alamofire/Alamofire – MobileMon
Un piccolo chiarimento: concordo sul fatto che le librerie come Alamofire e AFNetworking offrano una gestione degli errori più ricca, ma è perché loro " ricontrollare le cose che altrimenti dovremmo controllare manualmente (ad es. correggere 'Content-Type',' statusCode' di 'NSHTTPURLResponse', ecc.). Questo non ha nulla a che fare con il fatto che AFNetworking offre (ma non utilizza, per impostazione predefinita) Raggiungibilità. Per errori di rete generali, restituiscono semplicemente gli stessi oggetti 'NSError' che otteniamo quando lo facciamo manualmente da soli. – Rob