如何从iphone获取生日列表联系人

Roc*_*ock 6 iphone addressbook

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef nameArray = ABAddressBookCopyArrayOfAllPeople (addressBook);

m_SourceContactsUserArray = [[NSMutableArray alloc] init];
for (int i = 0; i<CFArrayGetCount(nameArray); i++) {
    ABRecordRef person = CFArrayGetValueAtIndex(nameArray, i);
    NSString *personName = (NSString*)ABRecordCopyValue(person,kABPersonFirstNameProperty);
    [m_SourceContactsUserArray addObject:personName];
}
CFRelease(addressBook);
CFRelease(nameArray);
Run Code Online (Sandbox Code Playgroud)

Dha*_*nia 16

试试这段代码:

ABAddressBookRef myAddressBook = ABAddressBookCreate();
NSArray *allPeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(myAddressBook);

for (id record in allPeople) {
    NSMutableDictionary *newRecord = [[NSMutableDictionary alloc] init];
    CFTypeRef bDayProperty = ABRecordCopyValue((ABRecordRef)record, kABPersonBirthdayProperty);

    if (ABRecordCopyValue((ABRecordRef)record, kABPersonBirthdayProperty)) 
           {
        NSDate *date=(NSDate*)bDayProperty;
        [newRecord setObject:date forKey:@"birthDate"];
        date=nil;
        [date release]; 
    }
   CFRelease(myAddressBook);
 }
Run Code Online (Sandbox Code Playgroud)

它会帮助你.