Я использую ниже код для доступа к контактам в приложении iOS. Он работает отлично в прошивке < 10, но с Xcode 8 и прошивкой 10 он выходит из строя:ABAddressBookRequestAccessWithCompletion crashes on iOS 10
- (void)btcContacts_tap {
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, NULL);
ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
if (granted) {
_addressBookController = [[ABPeoplePickerNavigationController alloc] init];
[[_addressBookController navigationBar] setBarStyle:UIBarStyleBlack];
_addressBookController.delegate = self;
[_addressBookController setPredicateForEnablingPerson:[NSPredicate predicateWithFormat:@"%[email protected] > 0", ABPersonPhoneNumbersProperty]];
[_addressBookController setPeoplePickerDelegate:self];
[self presentViewController:_addressBookController animated:YES completion:nil];
}
else {
dispatch_async(dispatch_get_main_queue(), ^{
[self showMessage:NSLocalizedStringFromTable(@"PLEASE_GRANT_CONTACTS", LIApplicationLanguage(), nil) andAdvertise:@"" andService:nil andTransactionState:kTTTransactionStateInfo];
});
}
});
}
Я поставил NSSetUncaughtExceptionHandler
к способу регистрации отчета об аварии, но даже обработчик исключений не называет ...
Неужели кто-то еще сталкивался с этой проблемой?
Husein устарел от iOS 9. Вы не можете использовать это. Вы должны использовать Contact framework. – user3182143
Если вы хотите сделать приложение с картой контактов, я помогу вам. Я напишу ответ, используя структуру контактов. – user3182143