4
我需要返回特定組的所有聯繫人。所以一直試圖做一些抽取所有聯繫人的示例代碼。首先需要查找電話簿中的所有組。當我打開電話簿時,我發現已經創建了2個組,因爲我已經在設置 - >郵件,聯繫人,日曆中設置了2個帳戶,即。 iCloud
和雅虎帳戶。ABAddressBookGetGroupCount沒有給出正確的計數
以下是我寫的代碼來獲取所有的組名
ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL);
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) {
ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error)
{
// First time access has been granted, add the contact
// NSLog(@" given access..asked first time");
[self getContacts:addressBookRef];
});
}
else
[self getContacts:addressBookRef];
}
-(void) getContacts:(ABAddressBookRef) addressBookRef
{
NSString* groupName;
CFArrayRef groups = ABAddressBookCopyArrayOfAllGroups(addressBookRef);
CFIndex count = ABAddressBookGetGroupCount(addressBookRef);
for (int i=0; i<count;i++) {
ABRecordRef record = CFArrayGetValueAtIndex(groups, i);
groupName = (NSString *)ABRecordCopyCompositeName(record);
NSLog(@"Group %d : %@",i+1,groupName);
}
}
現在我已經得到了數爲2,而我得到0。任何人都可以提出,如果我在這裏做錯什麼?