我在iPhone SDK中使用地址簿的经验很少。
是否有人有代码片段或知道代码以获取人名和编号例如'Fred Smith - 027 292 2112'。我对我尝试过的东西没有太多运气。
我想以编程方式实现此目标,而不是让用户决定(随机选择此人)。我也不想显示联系人选择器
任何教程链接,或任何感激之情。
提前致谢
萨姆
答案 0 :(得分:0)
此代码将从您的地址簿中随机联系。然后它会将第一个名字和姓氏以及第一个电话号码添加到UILabel属性(第一个,最后一个和电话)。
要使其工作,您必须先导入这些头文件:
#import <AddressBook/AddressBook.h>
#import <stdlib.h>
导入stdlib.h以便能够使用arc4random。
- (IBAction)randomContact:(id)sender {
ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *people = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
// randomize an index
NSInteger i = [people count];
i = arc4random() % i;
// get first and last name
first.text = (NSString *)ABRecordCopyValue([people objectAtIndex:i], kABPersonFirstNameProperty);
last.text = (NSString *)ABRecordCopyValue([people objectAtIndex:i], kABPersonLastNameProperty);
// get first phonenumber
ABMultiValueRef multi = ABRecordCopyValue([people objectAtIndex:i], kABPersonPhoneProperty);
phone.text = (NSString*)ABMultiValueCopyValueAtIndex(multi, 0);
[people release];
}