iOS: dispatch_get_global_queue QOS_CLASS_BACKGROUND вылетает на 7.1.2
У меня есть следующие фрагменты кода, который выбирает контакты с помощью блока:
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.2
а также8.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
//...
}
});
});