title: iOS 8 Share extension loadItemForTypeIdentifier:options:completionHandler: completion closure not executing
body: <p>I'm using the 
  loadItemForTypeIdentifier:options:completionHandler: method on an NSItemProvider object to extract a url from Safari via a Share extension in iOS 8.</p>
  
  <p>In Objective-C, this code and works and the block runs.</p>
  
  <pre><code>[itemProvider loadItemForTypeIdentifier:(@"public.url" options:nil completionHandler:^(NSURL *url, NSError *error) {
      //My code
  }];
  </code></pre>
  
  <p>In Swift, it looks very similar, however the closure doesn't run. Also,  <code>itemProvider.hasItemConformingToTypeIdentifier("public.url")</code> returns <code>YES</code> so there must be a valid object to parse the url from inside the <code>itemProvider</code>.</p>
  
  <pre><code>itemProvider.loadItemForTypeIdentifier("public.url", options: nil, completionHandler: { (urlItem, error) in
      //My code
  })
  </code></pre>
  
  <p>The Info.plist NSExtension portion is exactly the same for both Objective-C and Swift version and looks like this:</p>
  
  <pre><code>&lt;key&gt;NSExtension&lt;/key&gt;
  &lt;dict&gt;
      &lt;key&gt;NSExtensionAttributes&lt;/key&gt;
      &lt;dict&gt;
          &lt;key&gt;NSExtensionActivationRule&lt;/key&gt;
          &lt;dict&gt;
              &lt;key&gt;NSExtensionActivationSupportsWebURLWithMaxCount&lt;/key&gt;
              &lt;integer&gt;1&lt;/integer&gt;
          &lt;/dict&gt;
          &lt;key&gt;NSExtensionPointName&lt;/key&gt;
          &lt;string&gt;com.apple.share-services&lt;/string&gt;
          &lt;key&gt;NSExtensionPointVersion&lt;/key&gt;
          &lt;string&gt;1.0&lt;/string&gt;
      &lt;/dict&gt;
      &lt;key&gt;NSExtensionPointIdentifier&lt;/key&gt;
      &lt;string&gt;com.apple.share-services&lt;/string&gt;
      &lt;key&gt;NSExtensionMainStoryboard&lt;/key&gt;
      &lt;string&gt;MainInterface&lt;/string&gt;
  &lt;/dict&gt;
  </code></pre>
  
  <p>What am I doing wrong?</p>