Swift

Exponer la vista raíz para la captura a pantalla completa

Para capturar toda la pantalla de la aplicación, necesitas acceder a la raíz UIView. Añade una extensión:

UIApplication+rootViewController.swift

Entonces úsalo:

Ruta alternativa: Capturar una región específica con UIViewRepresentable

En los siguientes pasos le mostraremos como conectar el rootView al ScreenCapturer. Sin embargo, en caso de que prefiera capturar una región específica de la pantalla - puede capturar un específico UIView respaldado por SwiftUI. Cree una UIViewRepresentable que produce la vista que desea compartir, incrustarla en su diseño y pasar su subyacente UIView al capturador (por ejemplo, a través de una devolución de llamada cuando makeUIView corre).

Ejemplo: una etiqueta de tiempo compartible:

Mostrar TimeLabelView en SwiftUI y cablear su UIView a su gestor (por ejemplo, a través de @State y un onAppear / Coordinator), y luego pasar esa vista a ScreenCapturer(withView:) para compartir sólo esa región en lugar de la pantalla completa.