Estoy probando un sharedExtension para poder pasar una foto desde la cámara, por ejemplo, a mi app. Hay muchos tutoriales y ejemplos en internet y todos son básicamente iguales, pero a la hora de obtener el fichero da el error Failed to determine whether URL ....is managed by a file provider. Tengo creado el certificado con el app group, tengo definido el NSExtension, hasta NSExtensionActivationSupportsImageWithMaxCount. Ejecuto el sharedExtension, me abre la galería de fotos, selecciono una, aparece mi sharedExtension para seleccionar, le doy al post y a la hora de que se ejecute el método didSelectPost() es cuando me da este error. Este es mi código:
override func didSelectPost() {
if let item = self.extensionContext?.inputItems[0] as? NSExtensionItem{
let contentType = kUTTypeImage as String
if let contents = item.attachments as? [NSItemProvider] {
for attachment in contents {
if attachment.hasItemConformingToTypeIdentifier(contentType) {
attachment.loadItem(forTypeIdentifier: contentType, options: nil, completionHandler: { (data, error) in
let url = data as! URL
if let imageData = try? Data(contentsOf: url) {
print(imageData)
}
})
}
}
}
}
self.extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
}