iOS 8 Share extension loadItemForTypeIdentifier: opciones: completeHandler: el cierre de finalización no se ejecuta
Estoy usando el método loadItemForTypeIdentifier: options: completeHandler: en un objeto NSItemProvider para extraer una url de Safari a través de una extensión Share en iOS 8.
En Objective-C, este código funciona y el bloque se ejecuta.
[itemProvider loadItemForTypeIdentifier:(@"public.url" options:nil completionHandler:^(NSURL *url, NSError *error) {
//My code
}];
En Swift, se ve muy similar, sin embargo, el cierre no funciona. También,itemProvider.hasItemConformingToTypeIdentifier("public.url")
devolucionesYES
por lo tanto, debe haber un objeto válido para analizar la URL desde el interior delitemProvider
.
itemProvider.loadItemForTypeIdentifier("public.url", options: nil, completionHandler: { (urlItem, error) in
//My code
})
La parte Info.plist NSExtension es exactamente la misma para las versiones Objective-C y Swift y tiene este aspecto:
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<dict>
<key>NSExtensionActivationSupportsWebURLWithMaxCount</key>
<integer>1</integer>
</dict>
<key>NSExtensionPointName</key>
<string>com.apple.share-services</string>
<key>NSExtensionPointVersion</key>
<string>1.0</string>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.share-services</string>
<key>NSExtensionMainStoryboard</key>
<string>MainInterface</string>
</dict>
¿Qué estoy haciendo mal?