我一直在使用iOS应用程序,当我需要从手机中获取联系信息时,这是我的代码:
ABRecordID contactID = ABRecordGetRecordID(contact);
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(nil, nil);
ABRecordRef origContactRef = ABAddressBookGetPersonWithRecordID(addressBook, contactID);
CFRetain(origContactRef);
...
...
...
CFRelease(origContactRef);
问题在iOS8中,在此行中:
CFRetain(origContactRef);
因为对象为空。
我该如何解决?
问候
最佳答案
如果contactID为-1,则以下其余语句将失败。
在这种情况下,-1表示找不到记录。
您需要随时检查错误,您不能仅仅假设每个方法调用都会成功。在这种情况下,第一个检查错误的地方是ABRecordGetRecordID
语句。
从Apple documentation:
和#define kABRecordInvalidID -1
关于ios - 在iOS8中获取contactID时出错-崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26574833/