Cómo compartir en historias de Instagram desde tu app

Si deseas ofrecer la funcionalidad de compartir contenido directamente en las historias de Instagram desde tu aplicación, este artículo es para ti. Aprenderás a utilizar un URLScheme personalizado para enviar contenido desde tu app a las historias de Instagram.

Empecemos:

Agregar "instagram-stories" al Info.plist

Para habilitar esta funcionalidad, debes agregar "instagram-stories" a la clave LSApplicationQueriesSchemes dentro del archivo Info.plist de tu aplicación.

Agregar la clave en el Info.plist

Verificar si Instagram está instalado

Antes de intentar compartir contenido, es importante comprobar si Instagram está instalado en el dispositivo.

Primero, creamos la URL que verificaremos:

let url = URL(string: "instagram-stories://share?source_application=appId")

Es fundamental incluir el appId de tu aplicación, ya que Facebook lo requiere para permitir el uso de esta funcionalidad.

Puedes obtener el appId de tu aplicación directamente en App Store Connect. Para ello, accede a tu app y revisa la URL: https://appstoreconnect.apple.com/apps/APP-ID/distribution/info. También puedes encontrarlo entrando a tu aplicación en App Store Connect, y en la sección App Information, dentro del apartado General Information, verás el Apple ID, que es el identificador que debes utilizar.

Encontrar tu AppId dentro del App Store Connect

Luego, verificamos si la URL puede abrirse:

UIApplication.shared.canOpenURL(url)

Aquí tienes el código completo para crear una propiedad computada que obtenga la URL de Instagram si está disponible:

private var instagramStoriesUrl: URL? {
if let url = URL(string: "instagram-stories://share?source_application=appId") {
if UIApplication.shared.canOpenURL(url) {
return url
}
}
return nil
}

Compartir una imagen en historias de Instagram

Para compartir una imagen en las historias de Instagram, crearemos una función llamada shareToInstagramStories.

Veamos el código:

public func shareToInstagramStories(_ image: UIImage) {
// 1
guard let instagramStoriesUrl else {
return
}
// 2
guard let imageData = UIImage.pngData(image) else {
return
}
// 3
let pasteboardItem = [
"com.instagram.sharedSticker.backgroundImage": imageData
] as [String : Any]
// 4
let pasteboardOptions = [UIPasteboard.OptionsKey.expirationDate: Date().addingTimeInterval(60 * 5)]
// 5
UIPasteboard.general.setItems([pasteboardItem], options: pasteboardOptions)
// 6
UIApplication.shared.open(instagramStoriesUrl, options: [:], completionHandler: nil)
}
  1. Verificamos que Instagram está instalado usando nuestra propiedad computada instagramStoriesUrl.
  2. Convertimos la imagen en datos utilizando pngData().
  3. Creamos un diccionario con la clave. com.instagram.sharedSticker.backgroundImage, necesaria para compartir la imagen.

Si deseas agregar un enlace de descarga o cualquier URL en la historia, puedes incluir las siguientes claves en el diccionario:

"com.instagram.sharedSticker.linkURL": url, "com.instagram.sharedSticker.linkText": "Download now"

Esto generará un sticker con un enlace y el texto "Download now".

  1. Definimos opciones del portapapeles, estableciendo un tiempo de expiración de 5 minutos.

5 minutos es la opción que aparece en la documentación de Facebook, puedes probar un tiempo más corto si así lo prefieres.

  1. Copiamos los datos al portapapeles del sistema.

  2. Abrimos Instagram, que detectará la imagen copiada y la usará para crear la historia

Implementar la interfaz de usuario

Para permitir a los usuarios compartir la imagen en Instagram desde la app, agregamos un botón que llame a shareToInstagramStories. En nuestro caso estamos usando una imagen llamada "background".

Button("Send to IG Story") {
shareToInstagramStories(UIImage(named: "background")!)
}
Ejemplo de como se ve nuestra app compartiendo una historia de Instagram

Conclusión

Integrar esta funcionalidad en tu aplicación puede mejorar la experiencia del usuario y aumentar la visibilidad de tu app en redes sociales. Siguiendo estos pasos, puedes implementar fácilmente la opción de compartir imágenes en las historias de Instagram dentro de tu aplicación.

Comparte este artículo

Subscríbete a nuestro Newsletter

Mantente al día en el mundo de las aplicaciones móviles con nuestro blog especializado.

Artículos semanales

Todas las semanas artículos nuevos sobre el mundo de las aplicaciones móviles.

No spam

No te enviaremos spam, solo contenido de calidad. Puedes darte de baja cuando quieras.

Contenido de calidad

Nada de contenido generado de manera automática usando ChatGPT.

Recomendaciones

Tips indispensables sobre mejores prácticas y metodologías.

© 2025 AsyncLearn