I am using the Yelp Search API to basically just get a list of businesses for a search query. 

It is pretty much a NSURLConnection is OAuth, but here is the code to initialize the request:

```
 NSURL *URL = [NSURL URLWithString:appDelegate.yelpAdvancedURLString];

OAConsumer *consumer = [[OAConsumer alloc] initWithKey:@"this-is-my-key" secret:@"this-is-my-secret"];
OAToken *token = [[OAToken alloc] initWithKey:@"this-is-my-key" secret:@"this-is-my-secret"];

id<OASignatureProviding, NSObject> provider = [[OAHMAC_SHA1SignatureProvider alloc] init];
NSString *realm = nil;

OAMutableURLRequest *request = [[OAMutableURLRequest alloc] initWithURL:URL

                                                               consumer:consumer
                                                                  token:token
                                                                  realm:realm
                                                      signatureProvider:provider];

[request prepare];

responseData = [[NSMutableData alloc] init];

yelpConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

```

Then here:

```
  - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {

    [responseData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    [responseData appendData:data];

}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    NSLog(@"Error: %@, %@", [error localizedDescription], [error localizedFailureReason]);

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Oops." message: @"Something screwed up. Please search again." delegate: nil cancelButtonTitle:@"OK" otherButtonTitles:nil];

                [alert show];

     [MBProgressHUD hideHUDForView:self.view animated:YES];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{       
    if (connection == self.yelpConnection) {
        [self setYelpString];

    }
}

```

When I run this on iPhone, everything is working fine. However, when I run on iPad, the connection gets timed out. The following is from this line

```
 NSLog(@"Error: %@, %@", [error localizedDescription], [error localizedFailureReason]);

 Error: The request timed out., (null)

```

Also if I use a synchronous request, it seems to work using this:

```
 NSData* result = [NSURLConnection sendSynchronousRequest:request  returningResponse:&response error:&error];

NSDictionary* JSON = [NSJSONSerialization
                      JSONObjectWithData:result
                      options:kNilOptions
                      error:&error];

```

However, I want to avoid using synchronous as it freezes the app.

Is this Yelp API specific? Or am I just doing something wrong? Thanks in advance, I would appreciate any help.

If it helps, it times out approximately 10 seconds after sending the request.