iPhone取得用户的电话本代码
来源: 阅读:863 次 日期:2014-11-04 09:38:27
温馨提示: 小编为您整理了“iPhone取得用户的电话本代码”,方便广大网友查阅!

//取得用户的电话本 代码

-(void)getUserAddressBook{

//reDic = {"7":"数码先锋","1":"最爱街拍"} //打开电话本数据库

ABAddressBookRef addressRef=ABAddressBookCreate();

//返回所有联系人到一个数组中

CFArrayRef personArray = ABAddressBookCopyArrayOfAllPeople(addressRef);

NSMutableDictionary *jsonDictionary = [[NSMutableDictionary alloc]init];

//循环读取每个联系人

for (int i =0;i< p>

//得到当前联系人

ABRecordRef personRef=CFArrayGetValueAtIndex(personArray, i); //==============================================================================

CFStringRef firstname=ABRecordCopyValue(personRef, kABPersonFirstNameProperty);

CFStringRef lastname=ABRecordCopyValue(personRef, kABPersonLastNameProperty);

//CFStringRef userPhone = ABRecordCopyValue(personRef,kABPersonPhoneProperty );

NSString *allName;if([firstname isEqualToString:@""]||firstname==nil){if([lastname isEqualToString:@""]||lastname==nil){

allName=@"空";

}

}else if([lastname isEqualToString:@""]||lastname==nil){allName=[NSString stringWithFormat:@"];

}else if([firstname isEqualToString:@""]||firstname==nil){allName=[NSString stringWithFormat:@"];

}else{

allName=[NSString stringWithFormat:@"];

} // NSLog(@"); //============================================================================== // NSLog(@"); //用于循环计数 int j; //用于保存有多项的属性值 ABMultiValueRef values ; //==============================================================================

//循环读出该项的所有值,如果需要修改读出其它具有多项值的属性,只需修改KAB...Property //具有多项值的属性有电话,地址,email

values = (ABMultiValueRef) ABRecordCopyValue(personRef , kABPersonPhoneProperty);

//NSLog(@");

NSString *getPhoneNum;

for(j = 0 ;j < ABMultiValueGetCount(values); j++) {

getPhoneNum = [NSString stringWithFormat:@"%@", (NSString *)ABMultiValueCopyValueAtIndex(values, j)]; }if(ABMultiValueGetCount(values)==0){

getPhoneNum=@"空";

}//NSLog(@"); // values = (ABMultiValueRef) ABRecordCopyValue(personRef , kABPersonEmailProperty);// for( j = 0 ;j < ABMultiValueGetCount(values); j++)// { // NSLog(@"1-%@", (NSString *)ABMultiValueCopyValueAtIndex(values, j));// // }// // values = (ABMultiValueRef) ABRecordCopyValue(personRef , kABPersonAddressProperty);// for( j = 0 ;j < ABMultiValueGetCount(values); j++)// { // NSLog(@"2-%@", (NSString *)ABMultiValueCopyValueAtIndex(values, j));// // }[jsonDictionary setObject:getPhoneNum forKey:allName] ; //============================================================================== }

//NSLog(@"); NSString *str = [jsonDictionary JSONRepresentation];NSLog(@"); // NSString *d = [str JSONValue];[jsonDictionary release];

// NSString *str = [jsonDictionary JSONRepresentation];// NSMutableDictionary *d = [jsonDictionary JSONValue];// NSLog(@"%@" , [d description]); // [dlist release];//NSLog(@");}

更多信息请查看IT技术专栏

更多信息请查看技术文章
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map