作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
ABRecordSetValue(person, kABPersonPhoneProperty, (__bridge CFTypeRef)phoneNum, nil);
ABRecordSetValue(person, kABPersonEmailProperty, (__bridge CFTypeRef)eMailId, nil);
注释这两行给出了正确的输出(将条目保存到 AdressBook,没有电子邮件和电话条目)。但是,在执行过程中它失败并导致程序崩溃。
Vars 的值是:
电话号码 : 000-000-0000
eMailId : AbcdefghIjklm@qwertyuiopasdfghjk.com
错误类型:EXC_BAD_ACCESS
有什么想法吗?或者需要更多信息??
最佳答案
最好看看您在哪里定义了变量以及定义了何种类型的变量。您可能还在这些行之前发布了地址簿。 (例如 CFRelease(multiPhone);
)据我所知,phoneNum
和 emailID
应该是 ABMutableMultiValueRef
。至少我是这样做的:
添加单个电话号码
ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiPhone, [self.contact telephone], kABPersonPhoneMobileLabel, NULL);
ABRecordSetValue(person, kABPersonPhoneProperty, multiPhone,nil);
添加电子邮件:
ABMutableMultiValueRef multiEmail = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiEmail, @"abc@abc.com", kABWorkLabel, NULL);
ABRecordSetValue(person, kABPersonEmailProperty, multiEmail, &error);
CFRelease(multiEmail);
有关 Address Book tutorial 的更多信息
希望这对您有所帮助。
关于iphone - 将电话号码和电子邮件添加到地址簿会导致 iPhone 应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8712286/
我是一名优秀的程序员,十分优秀!