gpt4 book ai didi

iOS:dispatch_get_global_queue QOS_CLASS_BACKGROUND 在 7.1.2 上崩溃

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

我有以下使用 block 获取联系人的代码片段:

if (&ABAddressBookCreateWithOptions != NULL) {
CFErrorRef error = nil;

addressBook = ABAddressBookCreateWithOptions(NULL, &error);

ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {

dispatch_sync(dispatch_get_main_queue(), ^{
if (error) {
//...
} else if (!granted) {
//...
} else {
// access granted
//...
}
});
});

它在 7.1.28.1.3 版本上都能正常工作。

但是,当我尝试将 dispatch_get_main_queue 更改为 dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0) 时,它可以在 8.1.3 上运行,但崩溃7.1.2

if (&ABAddressBookCreateWithOptions != NULL) {
CFErrorRef error = nil;

addressBook = ABAddressBookCreateWithOptions(NULL, &error);

ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
dispatch_sync(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0), ^{ // BAD ACCESS
if (error) {
//...
} else if (!granted) {
//...
} else {
// access granted
//...
}
});
});

最佳答案

QOS_CLASS_ 标识符是在 iOS 8 中引入的。如果要支持 iOS 7,则需要使用 DISPATCH_QUEUE_PRIORITY_ 标识符。

关于iOS:dispatch_get_global_queue QOS_CLASS_BACKGROUND 在 7.1.2 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28947509/

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