Всякий раз, когда пользователь нажимает OK
на разрешение адресной книги UIAlertView
, все идет хорошо, за исключением задержки выполнения этих команд, странно, что для выполнения этих команд требуется около 5 секунд, хотя распечатывается NSLog
мгновенно.Завершение выполнения кода после разрешения адресной книги
Тот же код работает мгновенно в разрешении календаря.
Может кто-нибудь, пожалуйста, помогите мне здесь? Спасибо.
код, который выполняется после задержки (5 секунд)
NSLog(@"Granted!");
_1234.backgroundColor = [UIColor lightGrayColor]; [_12345 setHidden:NO]; [ _qwerty setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal]; [_qwerty1 setHidden:YES];
Полная функция
ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions (NULL, NULL);
если (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) {
ABAddressBookRequestAccessWithCompletion (addressBookRef,^(BOOL получил, CFErrorRef ошибка) {
если (ошибка)
{ // display error message here }
еще если (! Предоставляется)
{ // display access denied error message here } else { NSLog(@"Granted!"); //this gets printed instantly _qwerty.userInteractionEnabled = NO; _1234.backgroundColor = [UIColor lightGrayColor]; [_12345 setHidden:NO]; [ _qwerty setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal]; [_qwerty1 setHidden:YES]; [self qwerty4]; } }); }