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: 149

Filed under:
|
|

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

Related posts about ios

Related posts about debug