Ios 无法使用addressBook框架在addressBook中保存名称和电子邮件

Ios 无法使用addressBook框架在addressBook中保存名称和电子邮件,ios,iphone,Ios,Iphone,在我的应用程序中,我试图将姓名和联系电话保存到通讯录中 但是,在保存时(使用以下代码),我得到了错误: /Users/mobility/Desktop/STAXApplication/STAXApplication/AccountsAndContactsViewController.m:739:61: Implicit conversion of Objective-C pointer type 'NSString *' to C pointer type 'CFTypeRef' (aka 'c

在我的应用程序中,我试图将姓名和联系电话保存到通讯录中

但是,在保存时(使用以下代码),我得到了错误:

/Users/mobility/Desktop/STAXApplication/STAXApplication/AccountsAndContactsViewController.m:739:61: Implicit conversion of Objective-C pointer type 'NSString *' to C pointer type 'CFTypeRef' (aka 'const void *') requires a bridged cast
我使用的代码是:

-(void)addRecord:(NSString *)name email:(NSString *)email number:(NSString *)number
{
    NSString *Name = name;
    NSString *Email = email;
    NSString *Number = number;

    ABRecordRef newPerson = ABPersonCreate();

    ABRecordSetValue(newPerson, kABPersonFirstNameProperty, Name, NULL);
    ABRecordSetValue(newPerson, kABPersonEmailProperty, Email, nil);

    //ABRecordSetValue(newPerson, kABPersonLastNameProperty, @"agrawal", NULL);
    //ABRecordSetValue(newPerson, kABPersonPhoneProperty, CFNu,NULL);

    ABMutableMultiValueRef multiPhone =     ABMultiValueCreateMutable(kABMultiStringPropertyType);

    ABMultiValueAddValueAndLabel(multiPhone, Number, kABPersonPhoneMainLabel, NULL);

    ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone,nil);

    ABAddressBookAddRecord(_addressBook, newPerson, NULL);

    BOOL saved = ABAddressBookSave(_addressBook, NULL);

    if(saved == YES)
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Saved" message:@"the contact has been saved" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
    }

    else
    {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@" Not Saved" message:@"Not saved" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [alert show];
    }
}

NSString和const void*之间存在转换冲突。如何进行此转换??我也用了UTF8字符串。。但它不起作用。

你必须按照以下方式进行桥型铸造

ABRecordSetValue(newPerson, kABPersonFirstNameProperty, (__bridge CFStringRef) Name, NULL);
ABRecordSetValue(newPerson, kABPersonEmailProperty, (__bridge CFStringRef) Email, nil);