Я тестировал свое приложение, над которым я работал последние 2 месяца. В основном он запрашивает JSON, который содержит информацию об элементах. Одним из полей файла JSON является image_url. Когда я хочу отобразить это изображение, мне нужно загрузить его с другого сервера, который нуждается в дополнительных учетных данных.
Так это выглядит так -> В моем cellForRowAtIndexPath я делаю
NSDictionary *aucdict = [jsonAukResults objectAtIndex:indexPath.row];
NSURL *imageURL = [NSURL URLWithString:[aucdict objectForKey:@"img_url"]];
NSString *authPString = [[[NSString stringWithFormat:@"login:password"]dataUsingEncoding:NSUTF8StringEncoding] base64EncodedString];
NSString *verifPString = [NSString stringWithFormat:@"Image %@",authPString];
NSMutableURLRequest *Prequest = [[NSMutableURLRequest alloc] initWithURL:imageURL];
[Prequest setValue:verifPString forHTTPHeaderField:@"Authorization"];
NSError *error = nil;
NSURLResponse *resp = nil;
NSData *picresult = [NSURLConnection sendSynchronousRequest:Prequest returningResponse:&resp error:&error];
UIImage *imageLoad = [[UIImage alloc] initWithData:picresult];
Теперь я просто скрыл учетные данные (они не логин: пароль :)). Моя проблема в том, что сейчас я получаю 3 предмета. Все 3 имеют изображение на одном сервере. Я могу получить два из них с этим кодом без проблем. Однако третий проблематичен, я всегда получаю (NULL) imageLoad. На моем симуляторе все отлично работает, получаю все 3 картинки. На реальном устройстве я получаю ошибку.
Я попытался NSURLConnection с ошибкой и ответом, чтобы я мог отладить лучше. Это то, что я получил в своей ошибке.
Распечатка описания ошибки:
Ошибка домена = NSURLErrorDomain Code = -1202 "Сертификат для этого сервера недействителен. Возможно, вы подключаетесь к серверу, который притворяется «именем сервера», что может поставить под угрозу вашу конфиденциальную информацию. = pictureLink.jpg, NSLocalizedDescription = Сертификат для этого сервера недействителен. Возможно, вы подключаетесь к серверу, который притворяется «сервером», что может поставить под угрозу вашу конфиденциальную информацию. NSUnderlyingError = 0x1e5a30e0 "Сертификат для этого сервера недействителен. Возможно, вы подключаетесь к серверу, который притворяется «именем сервера», что может поставить под угрозу вашу конфиденциальную информацию. ", NSURLErrorFailingURLPeerTrustErrorKey =}
Я не использую SSL, поэтому я действительно запутался, так как это может вызвать эту ошибку. Кстати, до сих пор все работало нормально (это мой начальный экран, так что это было сделано в течение хороших полутора месяцев). Теперь я начал делать графику, и эта проблема появилась :(