Pracuję nad aplikacją wykorzystującą komunikację klient-serwer. Wszystko działało dobrze, aż system iOS 7.1. Po uruchomieniu Xcode 6 GM Seed próbowałem zbudować i uruchomić projekt na symulatorze iOS8. Jednak wszystkie połączenia NSURLC wydają się wygasać. Nie mogę uzyskać żadnej odpowiedzi z serwera. Działa to na symulatorze iOS 7 i Xcode 6.
Próbowałem użyć NSURLSession mając nadzieję, że to rozwiąże problem. Ale to nie zaszkodziło.
Każda pomoc będzie bardzo ceniona !! Jeśli ktokolwiek napotkał ten problem, daj mi znać, jeśli masz do tego obejście.Limit czasu połączenia NSURLConnection w systemie iOS8
UPDATE:
Jest to kod użyłem:
NSString *authStr = [NSString stringWithFormat:@"%@:%@", username, password];
NSData *authData = [authStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *authValue = [NSString stringWithFormat: @"Basic %@",[authData base64EncodedStringWithOptions:0]];
[inURLRequest setValue:authValue forHTTPHeaderField:@"Authorization"];
Należy pamiętać, że inURLRequest już iniatlized z żądanym adresem URL.
Po tym wystarczy użyć inURLRequest, aby wystrzelić transakcję w zwykły sposób. Na przykład, w przypadku NSURLSession, utwórz zadanie pobierania za pomocą tego obiektu żądania i wywołaj na nim CV API.
Czy możesz podać mi kod z wyjaśnieniem? –
Proszę zobaczyć aktualizację w pytaniu. Co do wyjaśnienia, domyślam się, że idealny sposób obsługi uwierzytelniania BASIC jest jedyny. Jednak we wcześniejszej wersji iOS NSURLConnection pozwalał również na uwierzytelnianie BASIC w wyzwaniu. Nie jest to już obsługiwane, a więc i ten kod. –
@SahityaTarumani W moich testach podstawowa autoryzacja działa dobrze w iOS 8.1/8.2, jeśli żądanie może zostać uruchomione natychmiast, ale jeśli połączenie musi czekać na innych, aby ukończyć jako pierwsze, to manifestuje ten nowy błąd iOS 8. – Rob