如何将我的应用程序中的生日添加到我的电话地址簿中

时间:2011-09-13 12:39:32

标签: iphone addressbook

我有一项任务是开发与地址相关的应用程序并从中访问生日。如果用户必须存在于地址中,那么我可以从我的应用程序手动输入到地址簿。

我必须开发与地址簿相关的应用程序。从地址簿我必须得到姓名,电话号码,电子邮件和生日。所以我可以轻松地在我的应用程序上得到它。但是因为我已经从地址簿中设置了所有内容。但我还必须提供设施来添加上面给出的字段中的联系人详细信息。我不能轻易找到如何在地址簿中添加生日我已经搜索了很多但我找不到它,

所以,请帮助我并提供一些示例代码。

2 个答案:

答案 0 :(得分:3)

int recordId=123 //recordId in address book for record we want to update
//save birthday to address book
ABAddressBookRef addressBook = ABAddressBookCreate();

ABRecordRef person = ABAddressBookGetPersonWithRecordID (addressBook,recordId);
CFErrorRef error = NULL; 

NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd.MM.yyyy"];
//don't set year in address book (yyyy=1604)
NSDate *date = [formatter dateFromString:[NSString stringWithFormat:@"%@.1604",@"29.03"]];
[formatter release];

ABRecordSetValue(person, kABPersonBirthdayProperty,(CFDateRef)date, &error); 
ABAddressBookSave (addressBook,&error);
CFRelease(addressBook);

不要忘记导入AddressBook / AddressBook.h文件并添加AddressBook.framework。

答案 1 :(得分:1)

Apple的代码库中有一个名为QuickContacts的演示应用程序。您可以下载并参考它。在该演示应用程序中,有一个功能,您可以在其中创建新联系人,它将在iPhone的联系人中保存该联系人。

现在,您可以修改该控制器并根据您的要求对其进行自定义。我没有深入细节,但我想这会对你有所帮助。您可以从here下载名为QuickContacts的演示应用。

你可能需要工作一点但我希望它有所帮助!