gpt4 book ai didi

ios - 在 ABAddressBookSave 上获取 EXC_BAD_ACCESS

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:47:14 28 4
gpt4 key购买 nike

我正在使用以下代码从我的地址簿中删除联系人。 (在 iOS 5.0 上)。但是它每次在 ABAddressBookSave(addressBook, NULL); 上都给我 EXC_BAD_ACCESS。我选择了 NSZombieEnalbeld,但它仍然没有给我明确的错误。

ABAddressBookRef addressBook = ABAddressBookCreate();
CFErrorRef error = NULL;

ABRecordRef person = ABAddressBookCopyArrayOfAllSources(addressBook);

BOOL success = ABAddressBookRemoveRecord(addressBook, person, &error);

if (success)
{
BOOL su = ABAddressBookSave(addressBook, NULL);
NSLog(@"Removed ----");
}
CFRelease(addressBook);

出了什么问题?

最佳答案

问题出在这一行:

ABRecordRef person = ABAddressBookCopyArrayOfAllSources(addressBook);

ABAddressBookCopyArrayOfAllSources返回一个 CFArray不是 ABRecord

如果你想从地址簿中删除一个人,你需要像这样获取它的引用:

ABRecordRef person = ABAddressBookGetPersonWithRecordID(addressBook, recordID);

其中recordID,你要删除的人的id(你需要获取这个)。

关于如何从通讯录中获取一个人,可以看看at this SO response

关于ios - 在 ABAddressBookSave 上获取 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15568087/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com