2013-01-09 41 views
-1

我可以从联系人获取出生日期,但不能在iPhone上获得周年日期。我使用了KABPersonAnniversaryLabel,但它给出了一个错误。iPhone中的联系人周年纪念

+0

@NitinGohel他正在问有关检索的价值,而不是救 – KingofBliss

+0

@ambuj你能请添加一些代码,并说明你正面临着 – KingofBliss

+0

ABMultiValueRef错误anni = ABRecordCopyValue(person,kABPersonAnniversaryLabel);的NSLog(@ “%@”,安妮);所以它是抛出异常,并在控制台lldb写入 –

回答

1

此代码将获取所有联系人周年,

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); 
+0

谢谢你的回答。 –

+0

ABMultiValueRef anniversaries = ABRecordCopyValue(person,kABPersonDateProperty);它解决了我的问题,但我希望打印在标签中,并将ib转换为nsstring后,它也没有得到解决 –

+0

@ambujshukla你正在试图解决什么? – KingofBliss

相关问题