【发布时间】:2011-11-30 18:41:23
【问题描述】:
我按照此说明在我的项目中将 vcard 数据添加到地址簿。 iOS 5。 Adding vCard data directly to the system Address Book
代码运行正常,并将 vcard 数据添加到我的 ipad2 和 iphone4s 中的地址簿,但是,xcode 显示此错误:
线程 1 程序收到信号:“exc_bad_access”
为什么会出现这个错误?
编辑:代码添加。
NSString *vCardString =
@"BEGIN:VCARD\n"
@"N:Paulo;Joao\n"
@"TEL:+44 (0)9999 8888\n"
@"ADR;HOME:;;Flat 2, 43 Howitt Road, Belsize Park;London;;NW34LU;UK\n"
@"ORG:NetTek Ltd;\n"
@"TITLE:Consultant\n"
@"EMAIL:none@none.com\n"
@"URL:www.none.com\n"
@"BDAY:19001010\n"
@"END:VCARD";
CFDataRef vCardData = (__bridge CFDataRef)[vCardString dataUsingEncoding:NSUTF8StringEncoding];
ABAddressBookRef book = ABAddressBookCreate();
ABRecordRef defaultSource = ABAddressBookCopyDefaultSource(book);
CFArrayRef vCardPeople = ABPersonCreatePeopleInSourceWithVCardRepresentation(defaultSource, vCardData);
for (CFIndex index = 0; index < CFArrayGetCount(vCardPeople); index++)
{
ABRecordRef person = CFArrayGetValueAtIndex(vCardPeople, index);
ABAddressBookAddRecord(book, person, NULL);
CFRelease(person);
}
CFRelease(vCardPeople);
CFRelease(defaultSource);
ABAddressBookSave(book, NULL);
CFRelease(book);
【问题讨论】:
-
当您尝试访问已释放的内存时会出现此错误。打印一些代码以获取更多详细信息。
-
我使用的代码和链接是一样的,没有这个代码,我的项目运行正常。
标签: iphone ipad ios5 objective-c-2.0 vcf-vcard