我正在尝试从我的iphone上的ABAddressBook获取生日属性。我在网上浏览了一些讨论,大多推荐相同的答案,我自己也试过了,如下所示。但这对我来说仍然不起作用,所以我想知道我是否遗漏了其他东西……
dayFormatter = [[[NSDateFormatter alloc] init]autorelease];
[self.dayFormatter setDateFormat:@"MMMM d"];
NSString* today = [dayFormatter stringFromDate:[NSDate date]];
NSLog(@"today:%@", today);
NSLog(@"date:%@", [NSDate date]); // this works fine
NSDate *bday = (NSDate*)ABRecordCopyValue(personRecord,kABPersonBirthdayProperty);
NSLog(@"bdayyyy:%@", bday); // this doesn't work.
NSString* personBday = [dayFormatter stringFromDate:bday];
NSLog(@"Bday:%@", personBday);任何帮助都非常感谢..谢谢。
发布于 2013-08-22 21:21:38
这对我来说很有效:
NSDate* birthDate = (__bridge_transfer NSDate*)ABRecordCopyValue(addressBookContact, kABPersonBirthdayProperty);发布于 2013-11-29 21:05:47
试试这个:
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);
}https://stackoverflow.com/questions/4895094
复制相似问题