In iOS 6 : Access the Address Book details by this code:
-(BOOL)isABAddressBookCreateWithOptionsAvailable {
return &ABAddressBookCreateWithOptions != NULL;
}
your method code :{
CFErrorRef error = NULL;
ABAddressBookRef addressBook;
//ABAddressBookRef addressBook = ABAddressBookCreate();
if ([self isABAddressBookCreateWithOptionsAvailable]) {
addressBook = ABAddressBookCreateWithOptions(NULL,&error);
ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
// callback can occur in background, address book must be accessed on thread it was created on
dispatch_async(dispatch_get_main_queue(), ^{
if (error) {
NSLog(@"error == %@",error);
} else if (!granted) {
NSLog(@"error == Not granted ");
} else {
// access granted
bool wantToSaveChanges = YES;
bool didSave;
CFErrorRef error = NULL;
if (ABAddressBookHasUnsavedChanges(addressBook)) {
if (wantToSaveChanges) {
didSave = ABAddressBookSave(addressBook, &error);
if (!didSave) {/* Handle error here. */ NSLog(@"Not change");}
} else {
ABAddressBookRevert(addressBook);
}
}
}
});
});
}
else {
}
Keep Coding :)
Comments
Post a Comment