2012-04-17 4 views
6
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); 
+3

問題点を教えてください。 –

答えて

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); 
} 

それはあなたを助けるでしょうが。

4

から誕生日のリストの連絡先を取得する方法:

CFDateRef date = ABRecordCopyValue(person, kABPersonBirthdayProperty); 
関連する問題