過去2か月間作業してきたアプリをテストしていました。基本的には、アイテムに関する情報を含むJSONを要求します。JSONファイルの1つのフィールドは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];
今、私は資格情報を隠しています(login:passwordではありません:))。私の問題は、現在、3つのアイテムを取得していることです。3つすべてが同じサーバーにイメージを持っています。このコードで問題なくそれらの2つを取得できます。しかし、3番目は問題があり、常に(NULL)imageLoadを取得します。シミュレーターでは、すべてが正常に機能し、3枚すべての写真を取得します。実際のデバイスではエラーが発生します。
NSURLConnectionをエラーと応答で試行したため、デバッグを改善できました。これは私が私のエラーで得たものです。
エラーの説明の印刷:
Error Domain = NSURLErrorDomain Code = -1202 "このサーバーの証明書は無効です。「サーバー名」のふりをしているサーバーに接続している可能性があり、機密情報が危険にさらされる可能性があります。」UserInfo = 0x1e5a3080 {NSErrorFailingURLStringKey = pictureLink.jpg、NSLocalizedRecoverySuggestion =サーバーに接続しますか?、NSErrorFailingURLKey = pictureLink.jpg、NSLocalizedDescription =このサーバーの証明書は無効です。「サーバー名」のふりをしているサーバーに接続している可能性があり、機密情報が危険にさらされる可能性があります。、NSUnderlyingError = 0x1e5a30e0「このサーバーの証明書は無効です。機密情報を危険にさらす可能性のある「サーバー名」。」、
私はSSLを使用しないので、このエラーを引き起こす原因として、私は本当に混乱しています。ちなみに、これまではすべて正常に機能していました(これは私の最初の画面なので、1か月半の間行われました)。今、私はグラフィックスを始め、この問題が現れました:(