request of address book authorization on IOS6

This commit is contained in:
Jehan Monnier 2012-10-01 17:18:57 +02:00
parent 18103091cd
commit f4f59fe279
2 changed files with 12 additions and 3 deletions

View file

@ -37,6 +37,7 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
avatarMap = [[NSMutableDictionary alloc] init];
addressBook = ABAddressBookCreate();
ABAddressBookRegisterExternalChangeCallback(addressBook, sync_address_book, self);
}
@ -134,7 +135,7 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
CFRelease(lFirstName);
}
}
CFRelease(lContacts);
if (lContacts) CFRelease(lContacts);
}
[self.tableView reloadData];
}

View file

@ -111,8 +111,16 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
if ((self = [super init]) != nil) {
addressBookMap = [[NSMutableDictionary alloc] init];
addressBook = ABAddressBookCreate();
ABAddressBookRegisterExternalChangeCallback (addressBook, sync_address_book, self);
[self loadData];
ABAddressBookRegisterExternalChangeCallback (addressBook, sync_address_book, self);
if (ABAddressBookGetAuthorizationStatus && ABAddressBookGetAuthorizationStatus() != kABAuthorizationStatusNotDetermined) {
ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
if (granted) [self loadData];
});
} else {
[self loadData];
}
}
return self;
}