我按照這個說明在我的項目中添加電子名片數據到地址簿。 iOS版5. Adding vCard data directly to the system Address BookEXC_BAD_ACCESS當添加電子名片數據到地址簿
代碼運行正常,並添加虛擬卡數據到我的iPad2和iPhone4S的adressbook,但是,Xcode中顯示此錯誤:
thread 1 program received signal: "exc_bad_acess"
爲什麼會出現這個錯誤?
編輯:代碼添加。
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:[email protected]\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);
當您嘗試訪問已釋放的內存時會出現此錯誤。打印一些代碼以獲取更多細節。 – beryllium
我使用的代碼是相同的鏈接,沒有此代碼,我的項目運行良好。 – Dyego