I'm working on a project which requires a login form, using a webservice for authentication. I have no issue connecting to the server but it seems that NSURLSession blocks my user interface and I really dont know why after a lot of debugging.
For simplicity, here's my code in short:
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"example.com/service"]];
//1
//_sessionLogin = [NSURLSession sessionWithConfiguration:sessionConfigurationLogin delegate:self delegateQueue:nil];
//2 //Whether I use 1 or 2, it acts the same way
_sessionLogin = [NSURLSession sharedSession];
NSURLSessionDataTask *sessionDataTaskLogin = [_sessionLogin dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
if(!error)
{
NSLog(@"loginWithSuccess");
UIAlertView *alertError = [[UIAlertView alloc] initWithTitle:@"Login ok" message:@"ok" delegate:self cancelButtonTitle:@"Close" otherButtonTitles: nil];
[alertError show];
}
}];
//Begin login request
[sessionDataTaskLogin resume];
_sessionLogin is a NSURLSession
As the connection to my server is fast, the NSLog(@"loginWithSuccess") appears almost right after I pressed the login button but it takes me a while (a long long while) about more than 10 seconds that the UIAlertView is showed. And I can't interact with the UI too.
Thanks in advance for every solution.