Странная проблема в didReceiveData из-за basicAuthentication

Я столкнулся с проблемой базовой аутентификации, для которой я не могу понять, почему эта проблема существует. В базовой аутентификации я получаю код ответа 200, т. Е. Аутентификация успешна, но иногда я не получаю соответствующие данные в приложении iOS. Если я вставляю URL-адрес запроса в браузере (даже в браузере Safari iPhone также), я всегда получаю ответ. Но почему я не всегда получаю ответ в приложении iOS.

Я рассмотрел многие другие проблемы в google и переполнении стека, например link1 , но не повезло.

Мой код выглядит следующим образом:

//in implemetation file -(void)basicAuthentication{ . . NSURL *url = [NSURL URLWithString:authenticationUrl]; NSMutableString *loginString = (NSMutableString*)[@"" stringByAppendingFormat:@"%@:%@", @"username",@"password"]; NSString *authHeader = [@"Basic " stringByAppendingFormat:@"%@", loginString]; NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; [request setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData]; [request setURL:url]; [request setHTTPMethod:@"GET"]; [request addValue:authHeader forHTTPHeaderField:@"Authorization"]; NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; myData = [[NSMutableData data] retain]; } //Delegate method called when the connection receives data /* * Callback, called when ever there is more response data read */ -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [myData appendData:data]; } //in .h file @interface TestConnectionManager : NSObject <UIAlertViewDelegate,NSURLConnectionDelegate>{ id <TestConnectionManagerDelegate>delegate; NSMutableData *myData; . . . } 

Я столкнулся с подобной проблемой, и у меня есть временное решение, которое я собираюсь предложить. Но я не уверен, насколько это будет полезно для вашего дела.

Я поместил лог-сообщения данных, полученных внутри метода didReceiveData . Если вы не можете поместить полученные данные, вы можете взять журнал длины данных.

 -(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { NSLog(@"data:%d",[data length]); [myData appendData:data]; NSLog(@"myData:%d",[myData length]); }