iOS: dispatch_get_global_queue QOS_CLASS_BACKGROUND stürzt in 7.1.2 ab

Ich habe folgende Codefragmente, mit denen Kontakte mithilfe des Blocks abgerufen werden:

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
                          //...
                        }
                    });
                });

Es funktioniert gut auf beiden7.1.2 und8.1.3 versions.

Allerdings, wenn ich versuche, @ zu ändedispatch_get_main_queue zudispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0) es funktioniert auf8.1.3 aberstürzt a auf7.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
                              //...
                            }
                        });
                    });

Antworten auf die Frage(2)

Ihre Antwort auf die Frage