gpt4 book ai didi

ios - 应用程序在 iPhone 中的 dispatch_queue 内崩溃

转载 作者:行者123 更新时间:2023-11-29 11:00:02 25 4
gpt4 key购买 nike

在我的一个应用程序中,我使用了 dispatch_queue 并在其中声明了一个 dispatch_asyc 队列来检查地址簿。现在,当编译器到达返回语句时,它会导致应用程序崩溃。下面是我的源代码。

   dispatch_queue_t queue = dispatch_queue_create("abc", NULL);

dispatch_async(queue, ^{
// Request authorization to Address Book
ABAddressBookRef addressBookRef = ABAddressBookCreateWithOptions(NULL, NULL);
if (ABAddressBookGetAuthorizationStatus() == kABAuthorizationStatusNotDetermined) {
ABAddressBookRequestAccessWithCompletion(addressBookRef, ^(bool granted, CFErrorRef error) {
// First time access has been granted...

// All good.
completionBlock?completionBlock(YES):nil;

dispatch_async(queue, ^{
if (addressBookRef) {
CFRelease(addressBookRef);
};
});

return;
});

最佳答案

根据documentation on Address Book , 你不能跨线程使用 ABAddressBookRef

Important: Instances of ABAddressBookRef cannot be used by multiple threads. Each thread must make its own instance by calling ABAddressBookCreate.

参见 this question有关如何执行此操作的更多想法:

关于ios - 应用程序在 iPhone 中的 dispatch_queue 内崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16364224/

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