ShareLink Swift: guía completa con ejemplos prácticos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

ShareLink para Swift: guía completa con ejemplos prácticos

ShareLink es una estructura integrada en el framework SwiftUI, diseñada para crear botones «Compartir» en aplicaciones Swift. Proporciona una interfaz simple e intuitiva para integrar la hoja de compartir del sistema (UIActivityViewController) sin necesidad de escribir código UIKit complejo. Esta biblioteca apareció en iOS 16, macOS 13, tvOS 16 y watchOS 9, y desde entonces se ha convertido en la forma estándar de implementar el intercambio de contenido en aplicaciones modernas de SwiftUI.

¿Para qué sirve ShareLink? En el mundo actual, los usuarios comparten contenido constantemente: enlaces, fotos, texto, archivos. Implementar manualmente la función de compartir requiere crear un UIActivityViewController, configurar delegados y manejar diferentes tipos de datos. ShareLink se encarga de todo ese trabajo, proporcionando un componente SwiftUI listo para usar que se adapta automáticamente a la plataforma y la configuración del sistema. Esto no solo acelera el desarrollo, sino que también garantiza una experiencia de usuario uniforme en todos los dispositivos Apple.

La biblioteca es ideal para: aplicaciones sociales (compartir publicaciones), agregadores de noticias (compartir artículos), editores de fotos (exportar imágenes), mensajería (enviar archivos) y cualquier otra aplicación que requiera la función «Compartir». ShareLink admite todos los tipos de datos estándar: cadenas de texto, URL, imágenes, archivos y elementos personalizados que cumplan con el protocolo Transferable.

Instalación

ShareLink forma parte del framework SwiftUI, por lo que no requiere instalación adicional a través de gestores de paquetes. Para usarlo, simplemente importa SwiftUI en tu proyecto:

import SwiftUI

Requisitos mínimos:

  • iOS 16.0+ / macOS 13.0+ / tvOS 16.0+ / watchOS 9.0+
  • Xcode 14.0+
  • Swift 5.7+

Si utilizas versiones anteriores de iOS, deberás usar UIActivityViewController directamente a través de UIViewRepresentable.

Inicio rápido

La forma más sencilla de usar ShareLink es pasarle una cadena de texto o una URL. Aquí tienes un ejemplo mínimo funcional:

import SwiftUI

struct ContentView: View {
    var body: some View {
        ShareLink(item: URL(string: "https://pythonlib.ru")!) {
            Label("Compartir enlace", systemImage: "square.and.arrow.up")
        }
        .padding()
    }
}

Este código crea un botón con el icono «Compartir». Al presionarlo, se abre la hoja de compartir del sistema, donde el usuario puede elegir la aplicación para enviar el enlace.

Métodos y clases principales

ShareLink ofrece varios inicializadores y modificadores para personalización. A continuación, las 8 funcionalidades clave.

1. ShareLink(item:)

Firma: init(item: T, subject: Text? = nil, message: Text? = nil, @ViewBuilder label: () -> Label)

Qué hace: Crea un botón de compartir para un solo elemento. El parámetro item puede ser una cadena, URL, imagen o cualquier tipo que cumpla con el protocolo Transferable.

ShareLink(item: "¡Hola, mundo!") {
    Text("Compartir texto")
}

2. ShareLink(items:)

Firma: init(items: [T], subject: Text? = nil, message: Text? = nil, @ViewBuilder label: () -> Label)

Qué hace: Permite compartir varios elementos a la vez (por ejemplo, un array de fotos).

let imagenes = [UIImage(named: "foto1")!, UIImage(named: "foto2")!]
ShareLink(items: imagenes) {
    Label("Compartir fotos", systemImage: "photo.on.rectangle")
}

3. ShareLink(item:preview:)

Firma: init(item: T, preview: SharePreview<T>, @ViewBuilder label: () -> Label)

Qué

Recommendations