2017-06-06 13 views
27

Używam URLSession wykonać datatask, gdy uruchomię go na iOS 11, pojawia się błąd konsoli:obciążenie HTTP nie powiodło się (kod błędu: -999 [1:89]) dla zadania w iOS 11

HTTP load failed (error code: -999 [1:89]) for Task <68809C58-C6A7-4F10-86A4-81396D8B18CF>.<2> 

Każda myśl o tym, co jest przyczyną lub jak to naprawić?

+0

Mam dokładnie ten sam problem na iPhone SE (tylko) –

+0

Mam taki sam problem na wszystkich symulatorach iOS 11. W tym scenariuszu nie używa się żadnego adresu URL http, tylko https. Ale mam NSAllowsArbitraryLoads ustawioną na TAK. – APE

+1

Ta odpowiedź wyjaśnia, czym jest kod błędu: https://stackoverflow.com/a/16076142/4160079 Ale nie ma pojęcia, dlaczego żądania są anulowane tylko w systemie iOS 11. – APE

Odpowiedz

3
HTTP load failed (error code: -999 [1:89]) for Task 

Error -999 oznacza NSURLErrorCancelled, prośba została anulowana przed zakończeniem. Zgodnie z apple developer blog, jest kilka zmian z ATS (prawdopodobne jest, że twój serwer korzysta z jednej ze starszych funkcji kryptograficznych, które zostały usunięte w iOS 11.) Więc spróbuj i zaimplementuj connection:didReceiveAuthenticationChallenge: i sprawdź, czy twój serwer podnosi wyzwanie uwierzytelnienia, jeśli tak to jest coś, z czym musimy sobie poradzić.

Mam nadzieję, że to pomoże!

0

Miałem ten sam błąd HTTP load failed (error code: -999 [1:89]) tylko na iPhone7, a nie na symulatorze. Naprawiłem ten błąd, resetując ustawienia sieciowe w telefonie.

Settings > General > Reset > Reset Network Settings.

Powiązane problemy