gpt4 book ai didi

ios - CFArrayAppendValue 崩溃 : EXC_BREAKPOINT (SIGTRAP)

转载 作者:行者123 更新时间:2023-12-01 18:02:19 27 4
gpt4 key购买 nike

我正在分析我的应用程序的崩溃报告。我似乎对 CFArrayAppendValue 有疑问。

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x000000000000defe
Crashed Thread: 0

Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 CoreFoundation 0x330f8268 __CFTypeCollectionRetain
1 CoreFoundation 0x330619ca _CFArrayReplaceValues
2 CoreFoundation 0x330618ba CFArrayAppendValue

我试图了解用户如何导致此崩溃,但这对我来说并不明显。使用的代码非常简单:

CFMutableArrayRef CFgroupMemberMutable = CFArrayCreateMutable (NULL,0,&kCFTypeArrayCallBacks);
for (id key in [dataManager getSpecificGroupMembers:groupID]){
ABRecordRef thisContact = ABAddressBookGetPersonWithRecordID (myAddressBook, [key intValue]);
CFArrayAppendValue (CFgroupMemberMutable,thisContact);
}

是因为我尝试附加 NULL 值吗? (ABRecordRef不存在?)是否回调方法使用错误?

感谢您的帮助,约翰约翰

最佳答案

是的,如果您尝试使用 CFArrayAppendValue() 追加 NULL 值,则会引发异常,并且您将得到 EXC_BREAKPOINT。您的示例中使用的默认回调看起来是正确的。

如果地址簿中没有找到记录,ABAddressBookGetPersonWithRecordID()可能会返回NULL,因此您必须检查NULL,以下是更新的代码:

CFMutableArrayRef CFgroupMemberMutable = CFArrayCreateMutable (NULL,0,&kCFTypeArrayCallBacks);
for (id key in [dataManager getSpecificGroupMembers:groupID]){
ABRecordRef thisContact = ABAddressBookGetPersonWithRecordID (myAddressBook, [key intValue]);
if (thisContact)
{
CFArrayAppendValue (CFgroupMemberMutable,thisContact);
}
}

关于ios - CFArrayAppendValue 崩溃 : EXC_BREAKPOINT (SIGTRAP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17263038/

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