title: Getting Error: "Incompatible block pointer types sending 'void(^)"?
body: <p>I'm using the code below to verify that my Shopify check out was successful... However the line:</p>
  
  <pre><code> [self.client getCompletionStatusOfCheckout:self.checkout
   completion:^(BUYCheckout *checkout, BUYStatus status, NSError *error)
   {
  </code></pre>
  
  <p>is throwing me the strangest error: </p>
  
  <blockquote>
    <p>"Incompatible block pointer types sending 'void(^)(BUYCheckout
    *___Strong, BUYStatus, NSError *___Strong' to parameter type 'BUYDataCheckoutStatusBlock''</p>
  </blockquote>
  
  <p>How can I fix this? And what does it mean? Let me know if you need more code/details. Cheers.</p>
  
  <p><strong>.h</strong></p>
  
  <pre><code>@property (nonatomic, strong) BUYClient *client;
  </code></pre>
  
  <p><strong>.m</strong></p>
  
  <pre><code>-(void)verifyCheckout{
  
      __block BUYStatus buyStatus = BUYStatusUnknown;
      __block BUYCheckout *completedCheckout = self.checkout;
      dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
      do {
  
          [self.client getCompletionStatusOfCheckout:self.checkout completion:^(BUYCheckout *checkout, BUYStatus status, NSError *error) {
              completedCheckout = checkout;
              buyStatus = status;
              dispatch_semaphore_signal(semaphore);
          }];
          dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);
          if (buyStatus == BUYStatusProcessing) {
              [NSThread sleepForTimeInterval:0.5];
          } else {
  
          }
  
      } while (completedCheckout.token &amp;&amp; buyStatus != BUYStatusFailed &amp;&amp; buyStatus != BUYStatusComplete);
  
  }
  </code></pre>