title: iOS: dispatch_get_global_queue QOS_CLASS_BACKGROUND crashes on 7.1.2
body: <p>I have following snippets of code that fetches contacts by using block:</p>
  
  <pre><code>if (&amp;ABAddressBookCreateWithOptions != NULL) {
              CFErrorRef error = nil;
  
              addressBook = ABAddressBookCreateWithOptions(NULL, &amp;error);
  
              ABAddressBookRequestAccessWithCompletion(addressBook, ^(bool granted, CFErrorRef error) {
  
                  dispatch_sync(dispatch_get_main_queue(), ^{
                          if (error) {
                              //...
                          } else if (!granted) {
                              //...
                          } else {
                              // access granted
                            //...
                          }
                      });
                  });
  </code></pre>
  
  <p>It works fine on both <code>7.1.2</code> and <code>8.1.3</code> versions.</p>
  
  <p>However when I try to change <code>dispatch_get_main_queue</code> to <code>dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0)</code> it works on <code>8.1.3</code> but <strong>crashes</strong> on <code>7.1.2</code></p>
  
  <pre><code>if (&amp;ABAddressBookCreateWithOptions != NULL) {
                  CFErrorRef error = nil;
  
                  addressBook = ABAddressBookCreateWithOptions(NULL, &amp;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
                                //...
                              }
                          });
                      });
  </code></pre>