Estoy tratando de compartir una historia con una imagen de fondo y una imagen adhesiva a través del esquema de URL en mi aplicación ios, estoy usando el código adjunto y no funciona. Cuando trato de compartir solo una imagen de fondo o solo una pegatina, funciona. Pero cuando intento compartir tanto una imagen de fondo como una pegatina encima, no funciona.
¿Algunas ideas?
func shareToInstagram(deepLinkString : String){ let url = URL(string: "instagram-stories://share")! if UIApplication.shared.canOpenURL(url){ let backgroundData = UIImageJPEGRepresentation(UIImage(named: "shop_placeholder")!, 1.0)! let creditCardImage = UIImage(named: "share_instagram")! let stickerData = UIImagePNGRepresentation(creditCardImage)! let pasteBoardItems = [ ["com.instagram.sharedSticker.backgroundImage" : backgroundData], ["com.instagram.sharedSticker.stickerImage" : stickerData], ] if #available(iOS 10.0, *) { UIPasteboard.general.setItems(pasteBoardItems, options: [.expirationDate: Date().addingTimeInterval(60 * 5)]) } else { UIPasteboard.general.items = pasteBoardItems } UIApplication.shared.openURL(url) }Copié el código de OP pegado para usarlo en mi propia aplicación (solo sustituyendo diferentes UIImages) y encontré solo 1 problema, los elementos de la mesa de trabajo deben estar contenidos en una sola matriz; de lo contrario, Instagram representará solo el primer elemento (en este caso, la capa de fondo). Para solucionar esto, reemplace la declaración de elementos de cartón con el siguiente código
let pasteBoardItems = [ ["com.instagram.sharedSticker.backgroundImage" : backgroundData, "com.instagram.sharedSticker.stickerImage" : stickerData] ](básicamente, simplemente quite el corchete de cierre y apertura que separa los dos elementos)
Además, como se indicó en una respuesta anterior, asegúrese de que "instagram-stories" esté incluido en LSApplicationQueriesSchemes en el archivo info.plist
Uso este código exacto en mi aplicación y ahora funciona perfecto
Todo es correcto, mi código es similar y funciona para iOS 11+. Te sugiero lo siguiente:
UIImagePNGRepresentation y viceversa)LSApplicationQueriesSchemes )