本文介绍了iPhone联系人周年纪念日的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以从联系人那里获得出生日期,但不能在iPhone上获取周年纪念日。我使用过KABPersonAnniversaryLabel,但是它出错。

I'm able to get birth dates from contacts but not the anniversary dates on iPhone. I have used KABPersonAnniversaryLabel but it is giving an error.

推荐答案

此代码将为所有联系人提取周年纪念日,

This code will fetch anniversary for all contacts,

    ABAddressBookRef addressBook = ABAddressBookCreate();
    CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(addressBook);
    for (CFIndex i = 0; i < CFArrayGetCount(people); i++) {
        ABRecordRef person = CFArrayGetValueAtIndex(people, i);
        ABMultiValueRef anniversaries = ABRecordCopyValue(person, kABPersonDateProperty);
        NSString *anniversaryLabel;
        for (CFIndex j=0; j < ABMultiValueGetCount(anniversaries); j++) {
            anniversaryLabel = (NSString*)ABMultiValueCopyLabelAtIndex(anniversaries, j);
            if([anniversaryLabel isEqualToString:(NSString *)kABPersonAnniversaryLabel])
            {
                NSDate *anniversaryDate=(NSDate *)ABMultiValueCopyValueAtIndex(anniversaries, j);
                NSLog(@"%@",anniversaryDate);
            }
        }
        CFRelease(anniversaries);
    }
    CFRelease(addressBook);
    CFRelease(people);

这篇关于iPhone联系人周年纪念日的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-22 05:42