NSMutableURLRequestは実際のデバイスではnullを返し、シミュレーターでは画像を返します


1

過去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か月半の間行われました)。今、私はグラフィックスを始め、この問題が現れました:(

回答:


0

友達が「?」を追加しようと言った URLの最後にある記号。理由はわかりませんが、突然機能します!なぜそれが機能するのかを明確にすることはできますか?:)ありがとう

NSMutableString *modURL = [NSMutableString stringWithString:[aucdict objectForKey:@"img_url"]];
    [modURL appendFormat:@"?"];
    NSURL *imageURL = [NSURL URLWithString:modURL];
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.