Instagram分享到iOS Feed无法工作(UIDocumentInteractionController)

9

iOS 14.2 版本,我无法像https://developers.facebook.com/docs/instagram/sharing-to-feed/中描述的那样分享图片。

但我可以从此菜单中正确地向其它应用程序分享相同的图片(例如 Telegram)。

代码:

func shareToInstagramFeed() {
    let instagramURL = NSURL(string: "instagram://")

    if UIApplication.shared.canOpenURL(instagramURL! as URL) {
        let jpgPath = (NSTemporaryDirectory() as NSString).appendingPathComponent("instagram.ig")
        do {
            try selectedImage.image?.jpegData(compressionQuality: 1)?.write(to: URL(fileURLWithPath: jpgPath), options: .atomic)
        } catch {
            print(error)
        }
        let rect = CGRect.zero
        
        documentInteractionController = UIDocumentInteractionController(url: URL(fileURLWithPath: jpgPath))
        documentInteractionController.delegate = self
        documentInteractionController.uti = "com.instagram.photo"
        documentInteractionController.presentOpenInMenu(from: rect, in: view, animated: true)
    }
}

分享菜单: 在此输入图片描述

Instagram 错误: 在此输入图片描述


我遇到了完全相同的问题,你找到任何解决方案了吗? - Bastek
这里也有同样的问题。非常令人沮丧。除了Instagram之外,其他选项都可以正常使用。 - Buyin Brian
2个回答

0

我曾经为此苦恼,最终使用了UIActivityViewController,它起作用了。

 let items = [image]
    let ac = UIActivityViewController(activityItems: items, applicationActivities: nil)
    present(ac, animated: true)

0

随着 Instagram 版本 171.0 的推出,该问题已得到解决。虽然功能可用,但界面非常丑陋,无法选择故事或动态内容,并且也无法编辑照片。

我相信在未来 Instagram 会改进此功能。

如果您只需要分享一张照片,可以使用以下解决方法:

let ac = UIActivityViewController(activityItems: [imageUrl, imageUrl], applicationActivities: nil)
present(ac, animated: true)

(imageUrl故意输入两次) 然后你会得到以下屏幕: 输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接