Я пишу код, чтобы получить доступ к учетной записи пользователя Twitter, но у меня возникли проблемы с обработкой случая, когда на устройстве нет учетных записей. То, что я хотел бы сделать, это показать предупреждение, сообщающее пользователю, что для аутентификации с помощью Twitter им сначала необходимо создать учетную запись в своих настройках.UIAlertView не работает в блоке обработчика завершения
Вот мой код:
self.accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountTypeTwitter = [self.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[self.accountStore requestAccessToAccountsWithType:accountTypeTwitter options:nil completion:^(BOOL granted, NSError *error) {
if(granted) {
//Doesn't matter for the present case
} else if (error){
[SVProgressHUD dismiss]; //not directly relevant to the present question, but it also doesn't work within the block, so I'm leaving it as a clue
switch ([error code]){
case (6):
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"No Twitter Account Detected" message:@"Please go into your device's settings menu to add your Twitter account." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show]; //triggers an error
break;
}
}
}];
Я не эксперт Xcode отладчик, но, видимо, ошибка происходит в потоке ACAccountStoreReply, около 25 звонков глубоко после [оповещений шоу] называется, в процесс называется ucol_getVersion. Состояние отладчика EXC_BAD_ACCESS (код = 2, адрес = 0xcc).
Я искал «Переполнение стека» и Интернет в целом, чтобы решения, касающиеся UIAlertViews, не работали в блоках, а также общие проблемы с отображением предупреждений (я пробовал разные значения для делегата), а также для общих проблем с вызывает запросAccessToAccountsWithType.
Я также попытался разобраться в своем понимании блоков, прочитав различные онлайн-ресурсы и соответствующие страницы программирования в Objective-C, 4-е дополнение.
Любая помощь приветствуется.
абсолютно правильный .. браво ... +1 –
, но если я хочу вызвать метод делегирования этого предупреждения. ?? –