Instagram 共享以供 iOS 不工作(UIDocumentInteractionController)
Posted
技术标签:
【中文标题】Instagram 共享以供 iOS 不工作(UIDocumentInteractionController)【英文标题】:Instagram Sharing to Feed iOS not working (UIDocumentInteractionController) 【发布时间】:2020-11-25 11:33:43 【问题描述】:ios 14.2,我无法按照https://developers.facebook.com/docs/instagram/sharing-to-feed/ 中的说明分享图片
我可以通过这个菜单正确地将相同的图像分享给任何其他应用程序(例如电报)
代码:
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 错误:
【问题讨论】:
我也遇到了同样的问题,你找到解决办法了吗? 这里有同样的问题。非常令人沮丧。除 Instagram 外,其他所有选项都适用 【参考方案1】:我为此苦苦挣扎,最终使用了 UIActivityViewController 并且它起作用了。
let items = [image]
let ac = UIActivityViewController(activityItems: items, applicationActivities: nil)
present(ac, animated: true)
【讨论】:
【参考方案2】:在 Instagram 版本 171.0 中,此问题已得到修复。它可以工作,但很丑,你不能选择故事或提要,也不能编辑照片。
我相信instagram的功能会让这个功能变得更好。
如果您只需要共享一张图片,您可以使用此解决方法:
let ac = UIActivityViewController(activityItems: [imageUrl, imageUrl], applicationActivities: nil)
present(ac, animated: true)
(imageUrl 故意输入 2 次) 然后你会得到以下屏幕:
【讨论】:
以上是关于Instagram 共享以供 iOS 不工作(UIDocumentInteractionController)的主要内容,如果未能解决你的问题,请参考以下文章
分享后如何从 Instagram 应用重定向到我的 iOS 应用