使用背景图片和贴纸向 Instagram 分享故事 - IOS Swift

avi*_*elk 5 share url-scheme ios instagram swift

我正在尝试通过我的 ios 应用程序上的 URL 方案分享带有背景图像和贴纸图像的故事,我正在使用附加的代码,但它不起作用。当我尝试仅分享背景图像或贴纸时,它确实有效。但是,当我尝试共享背景图像和其顶部的贴纸时,它不起作用。

有任何想法吗?

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)
        }
Run Code Online (Sandbox Code Playgroud)

Vya*_*cov 3

一切都是正确的,我的代码是相似的,它适用于 iOS 11+。我建议您执行以下操作:

  1. 检查传递到粘贴板的图像数据(jpg 无法转换 UIImagePNGRepresentation,反之亦然)
  2. 检查 info.plist。您应该在其中启用“instagram-stories”方案(LSApplicationQueriesSchemes关键)