如何在应用程序中将联系人信息添加到通讯录中[重复]

Posted

技术标签:

【中文标题】如何在应用程序中将联系人信息添加到通讯录中[重复]【英文标题】:how to add contacts info into address book in an application [duplicate] 【发布时间】:2013-05-24 04:59:52 【问题描述】:

您好,我想在我的应用程序中将联系人添加到我的通讯录中。 就像我有一个用于姓名和电话号码的文本字段一样,一旦我单击按钮,它就会添加到我的地址簿中。

我在 *** How to add a contact from my app to the ios address book 中遇到了很多问题,但我不明白,所以谁能告诉我如何用示例代码实现它,或者如果你有任何关于此的教程链接,那就太好了。

【问题讨论】:

你提到的链接有完美的答案和代码。你从中明白了什么? 你可以试试这个苹果文档:developer.apple.com/library/ios/#documentation/ContactData/… @Durgaprasad 我不明白我是否有 texfield 一旦我输入了姓名和电话号码等相关数据,我如何保存到地址簿中……在上面的链接中添加了很多信息,我不明白委托方法 【参考方案1】:

如果您想添加带有图片的人的地址,这将对您有所帮助,先生 首先,您必须创建 ABAddressBookRef 对象。

ABAddressBookRef addressBook = ABAddressBookCreate();
    ABRecordRef person = ABPersonCreate();
    // Add Person Image

    NSData *dataRef = UIImagePNGRepresentation(personImageView.image);
    ABPersonSetImageData(person, (CFDataRef)dataRef, nil);

    CFErrorRef  anError = NULL;
    // Full Name, Company Name, Designation Property

    ABRecordSetValue(person,kABPersonFirstNameProperty,full_name,&anError);
    ABRecordSetValue(person, kABPersonOrganizationProperty, companyLabel, &anError);
    ABRecordSetValue(person, kABPersonJobTitleProperty, designation, &anError);
    // Multi value Address Property

    ABMutableMultiValueRef multiAddress = ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);'
    NSMutableDictionary *addressDictionary = [[NSMutableDictionary alloc] init];

    [addressDictionary setObject:@"Chicago" forKey:(NSString *)kABPersonAddressCityKey];
    [addressDictionary setObject:@"IL" forKey:(NSString *)kABPersonAddressStateKey];
    [addressDictionary setObject:@"60654" forKey:(NSString *)kABPersonAddressZIPKey];

    ABMultiValueAddValueAndLabel(multiAddress, addressDictionary, (CFStringRef)@"Address", NULL);
    ABRecordSetValue(person, kABPersonAddressProperty, multiAddress,&anError);
    CFRelease(multiAddress);

    ABMutableMultiValueRef websiteMultiValue = ABMultiValueCreateMutable(kABPersonURLProperty);
    ABMultiValueAddValueAndLabel(websiteMultiValue, web_URL, (CFStringRef)@"Website", NULL);
    ABRecordSetValue(person, kABPersonURLProperty, websiteMultiValue, &anError);


    ABMutableMultiValueRef emailMultiValue = ABMultiValueCreateMutable(kABPersonEmailProperty);
    ABMultiValueAddValueAndLabel(emailMultiValue, email, (CFStringRef)@"Email", NULL);
    ABRecordSetValue(person, kABPersonEmailProperty, emailMultiValue, &anError);

    ABAddressBookAddRecord(addressBook, person, &anError);

希望这对先生有帮助..

【讨论】:

以上是关于如何在应用程序中将联系人信息添加到通讯录中[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 AddressBookUI 访问将联系人添加到 iPhone 通讯簿的日期

如何告诉应用程序在地址簿中添加或删除或修改了新联系人及其在android中的详细信息

C语言 写一个通讯录

android怎么 添加联系人到手机

如何将 vCard 中的联系人信息保存到 iPhone 的联系人应用程序中

如何以编程方式修改通讯录中的联系电话?