我想在iPhone应用程序的其中一个参考我的地址簿。我使用了下面的代码。但其显示[人数] = 0.如何使用ABAddressBookRef for iPhone应用程序?
我的地址簿应用程序中有3-4个联系人仍然[人数]返回零。
还有什么,我在这里失踪?
代码是:
ABAddressBookRef addressBook = ABAddressBookCreate();
NSMutableArray *people = [[[(NSArray*)ABAddressBookCopyArrayOfAllPeople(addressBook) autorelease] mutableCopy]autorelease];
[people sortUsingFunction:(int (*)(id,id,void*)) ABPersonComparePeopleByName context:(void*)ABPersonGetSortOrdering()];
NSLog(@"count..%i",[people count]);
for(int i = 0 ; i < [people count]; i++){
ABRecordRef person = [people objectAtIndex:i];
//get phone no fill phone no into array
ABMultiValueRef multi = ABRecordCopyValue(person, kABPersonPhoneProperty);
if(multi!=NULL && ABMultiValueGetCount(multi)>0) {
NSLog(@"in value..");
}
else {
NSLog(@"no value");
}
}
谢谢
仍然不起作用 – spaleja 2011-03-23 10:41:23
请注意,在iOS 6 ABAddressBookCreate()已被弃用。使用ABAddressBookCreateWithOptions()。更多信息在这里:http://stackoverflow.com/questions/12083643/how-do-i-correctly-use-abaddressbookcreatewithoptions-method-in-ios-6/12510649#12510649 – 2012-10-19 15:27:41
顺便说一句,为什么你不叫CFRelease地址簿? – 2014-02-28 08:15:27