Iphone 如何将我的应用程序中的生日添加到我的电话通讯簿

Iphone 如何将我的应用程序中的生日添加到我的电话通讯簿,iphone,addressbook,Iphone,Addressbook,我的任务是开发与地址相关的应用程序,并从中访问出生日期。如果用户必须存在于地址中,那么我可以从我的应用程序手动将其输入到地址簿 我必须开发与通讯录相关的应用程序。从地址簿中我必须得到姓名、电话号码、电子邮件和生日。所以我可以很容易地在我的应用程序中得到它。但对于get,我已经从地址簿中设置了所有内容。但我也必须给设施,以添加上述给定字段的联系人详细信息。我不容易找到如何在地址簿中添加生日我已经搜索了很多,但我找不到它 所以,请帮助我并提供一些示例代码 苹果的代码库中有一个名为QuickConta

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

我必须开发与通讯录相关的应用程序。从地址簿中我必须得到姓名、电话号码、电子邮件和生日。所以我可以很容易地在我的应用程序中得到它。但对于get,我已经从地址簿中设置了所有内容。但我也必须给设施,以添加上述给定字段的联系人详细信息。我不容易找到如何在地址簿中添加生日我已经搜索了很多,但我找不到它


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

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

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

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

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。

“1604”日期表示没有定义年份的日期(仅日期/月份)