【发布时间】:2014-11-02 10:06:27
【问题描述】:
我正在尝试访问 iPad 的地址簿电子邮件。
部分代码是:
ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL);
ABRecordRef recordRef = ABAddressBookCopyDefaultSource(addressBookRef);
CFArrayRef arrayRef = ABAddressBookCopyArrayOfAllPeopleInSourceWithSortOrdering(addressBookRef, recordRef, kABPersonSortByFirstName);
for(int i = 0;i<ABAddressBookGetPersonCount(addressBookRef);i++)
{
ABRecordRef ref = CFArrayGetValueAtIndex(arrayRef, i);
ABMultiValueRef emails = ABRecordCopyValue(ref, kABPersonEmailProperty);
.
.
.
.
崩溃只能在客户端 iPad-Mini 上重现。我们试图重现崩溃,但它没有发生。
在分析调试版本后,我们知道崩溃发生在“ABMultiValueRef emails = ABRecordCopyValue(ref, kABPersonEmailProperty);”行中。崩溃并非每次都发生。它在 2-3 次尝试访问地址簿电子邮件时发生一次。仅供客户使用。
我的疑问是“ABRecordRef ref = CFArrayGetValueAtIndex(arrayRef, i);”可能为 nil 或为空。但在什么情况下这可能是 nil 或空的?
谁能帮我知道崩溃的原因。
【问题讨论】:
-
崩溃日志说什么?
-
@n00bProgrammer:抱歉,我们无法从客户端获取崩溃日志..
标签: ios iphone ipad ios7 abaddressbook