Значительное время, чтобы нажать UIViewController в блоке завершения Twitter
При запуске этого кода ...
-(IBAction)loginWithTwitter:(id)sender {
NSLog(@"Logging in with twitter");
ACAccountStore *accountStore = [[ACAccountStore alloc]init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error) {
if (error) {
[self showError:error];
return;
}
if (granted) {
NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];
if ([accountsArray count] > 1) {
NSLog(@"Multiple twitter accounts");
}
ACAccount *twitterAccount = [accountsArray objectAtIndex:0];
NSLog(@"%@", twitterAccount);
[self pushMainController];
}
}];
}
Задержка в 5-10 секунд передpushMainController
фактически вызывается, хотя информация об учетной записи регистрируется практически сразу (после предварительной авторизации). Если я переедуpushMainController
однако, вызов после блока происходит немедленно, единственная проблема заключается в том, что пользователь не обязательно вошел в систему в этот момент. Я понимаю, что для ответа блока может потребоваться секунда из-за таких переменных, как сетевое подключение, но может ли кто-нибудь помочь мне понять это?