NSMutableURLRequest returns null on real device, while returning image on simulator
Posted
by
Yanchi
on Super User
See other posts from Super User
or by Yanchi
Published on 2012-12-05T10:27:00Z
Indexed on
2012/12/05
11:09 UTC
Read the original article
Hit count: 183
I was testing my app that I've been working on for past 2 months. Basically it requests for JSON, that contains info about items. One field of JSON file is image_url. When I want to display this image, I need to download it from another server, that needs additional credentials.
So it goes like this-> In my cellForRowAtIndexPath I'm doing
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];
Now, I just obscured credentials (they are not login:password :)). My problem is, that right now, I get 3 items. All 3 have image on same server. I can get two of them with this code no problem. However third one is problematic, I always get (NULL) imageLoad. On my simulator, everything works fine, I get all 3 pictures. On real device I get error.
I tried to NSURLConnection with error and response so I could debug better. This is what I got in my error.
Printing description of error: Error Domain=NSURLErrorDomain Code=-1202 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “server name” which could put your confidential information at risk." UserInfo=0x1e5a3080 {NSErrorFailingURLStringKey=pictureLink.jpg, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, NSErrorFailingURLKey=pictureLink.jpg, NSLocalizedDescription=The certificate for this server is invalid. You might be connecting to a server that is pretending to be “server name” which could put your confidential information at risk., NSUnderlyingError=0x1e5a30e0 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “server name” which could put your confidential information at risk.", NSURLErrorFailingURLPeerTrustErrorKey=}
I dont use SSL so Im really confused as what could cause this error. Btw, everything worked fine until now (this is my initial screen, so it's been done for good month and a half). Now I started to do graphics and this problem popped up :(
© Super User or respective owner