添加人员组到ABAddressBookRef,组添加确定,但是人没有添加到组? [英] Add Group of Persons to ABAddressBookRef, group added ok, but person didn't add to Group?

查看:141
本文介绍了添加人员组到ABAddressBookRef,组添加确定,但是人没有添加到组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一些Objective-C代码如:

I have some lines of Objective-C code like:

ABAddressBookRef addressBook;
CFErrorRef error = NULL;
addressBook = ABAddressBookCreate();
ABRecordRef group = ABGroupCreate();
ABRecordSetValue(group, kABGroupNameProperty,@"My Group", &error);

ABRecordRef person = ABPersonCreate();
ABRecordSetValue(person,kABPersonFirstNameProperty,@"Huy 1111111",&error);
ABRecordSetValue(person,kABPersonLastNameProperty,@"AseDra",&error);
ABGroupAddMember(group, person, &error);

ABAddressBookAddRecord(addressBook, group, &error);

ABAddressBookSave(addressBook,&error);

它运行正常,没有错误,组添加到模拟器地址簿但人没有添加到Simunator地址簿。任何人都可以告诉我我哪里错了?

It run fine, no error, group added to Simulator Address Book but person didn't add to Simunator Address Book. Anybody can tell me where i'm wrong?

推荐答案

根据iOS地址簿编程指南(链接如下),人员记录必须存在于地址簿中才能将其添加到组中。

According to the Address Book Programming Guide for iOS (link below), the person record must exist in the address book before you can add them to a group.

在将人员记录添加到组之前,必须已将其保存到地址簿数据库。

"Before a person record can be added to a group, it must already be saved to the Address Book database."

http://developer.apple.com/library/ios/#documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone /500-DirectInteraction/DirectInteraction.html%23//apple_ref/doc/uid/TP40007744-CH6-SW4

所以这可能会起作用

ABAddressBookRef addressBook;
CFErrorRef error = NULL;
addressBook = ABAddressBookCreate();

ABRecordRef person = ABPersonCreate();
ABRecordSetValue(person,kABPersonFirstNameProperty,@"Huy 1111111",&error);
ABRecordSetValue(person,kABPersonLastNameProperty,@"AseDra",&error);

// add the person record
ABAddressBookAddRecord(addressBook, person, &error);

ABRecordRef group = ABGroupCreate();
ABRecordSetValue(group, kABGroupNameProperty,@"My Group", &error);
ABGroupAddMember(group, person, &error);
ABAddressBookAddRecord(addressBook, group, &error);

ABAddressBookSave(addressBook,&error);

这篇关于添加人员组到ABAddressBookRef,组添加确定,但是人没有添加到组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆