Quiero compartir un archivo usando la hoja Compartir y tengo un código escrito que parece funcionar bien. Sin embargo, sigo viendo estos mensajes de error en el registro (usando Xcode 11.3)
[ShareSheet] connection invalidated
Tengo dos dispositivos físicos en los que estoy probando; un iPad con iOS 13.1.2 y un iPhone 6 con 11.4. No veo estos mensajes en el iPhone con el iOS anterior. En ambos casos, compartir parece funcionar bien. Aquí está el código que estoy usando usando texto en lugar de un archivo:
let activityViewController = UIActivityViewController(activityItems: ["simple text for test"], applicationActivities: nil)
activityViewController.excludedActivityTypes = [.message, .airDrop]
activityViewController.popoverPresentationController?.barButtonItem = myBarButtonItem
self.present(activityViewController, animated: true, completion: nil)
El mensaje aparece cuando la hoja de compartir desaparece (ya sea porque el usuario completa una acción o toca fuera de ella para cancelar).
¿Es seguro ignorar estos mensajes? Es extraño que no aparecieran en el sistema operativo anterior, pero sí en el nuevo.
Editado el 20 de marzo de 2020: validé que estaba proporcionando una fuente válida o barButtonItem. He cambiado el código para que coincida con el que estoy usando un UIBarButtonItem y todavía veo el error de invalidación de conexión ShareSheet.
fuente
Respuestas:
tengo
en el registro de salida de Xcode en iOS 13.x, y la hoja de compartir se aplastó y no tenía ningún botón.
Para solucionarlo, asigne su
sourceView
a algo más específico queself.view
En mi caso, tenía algunos
UILabels
cerca de la parte superior de mi vista, así que pusesourceView
uno de esos. Por ejemplo, en mi controlador de vista principal, tenía unUILabel
nombre,labelCustomerName
así que usé eso:fuente
Para mí, se resolvió cuando agregué este código, basado en la documentación del desarrollador de Apple .
Por cierto, parece que incluso si presiona el botón de cerrar para la actividad, todavía muestra ese mensaje.
fuente