首页 > 解决方案 > 是否可以在 iOS 中使用 URL 将媒体文件共享到 Instagram?

问题描述

我想知道是否可以使用 Instagram 的 URL 共享媒体文件。基本上,我在自己的应用程序中制作了应用程序捕获图片和视频,并将其分享给其他应用程序。而我用过"instagram://library?LocalIdentifier=" + asset.localIdentifier的,类型assetPHAsset。但我想在保存到真实设备的相册之前将媒体文件分享到 Instagram。如果我要这样做,我应该使用 URL,而不是PHAsset. 您是否认为只有一种方法可以使用 URL 共享媒体文件,我应该保存文件并PHAsset从设备获取?如果不这样做,我该如何设置参数instagram://library以使用文件 url?请告诉我。

而且在官方文档中,也没有关于library参数的解释。这是否意味着有一天可以删除该参数?

谢谢!

标签: iosswiftinstagramphasset

解决方案


您可以使用UIDocumentInteractionController共享照片而不将其保存到照片库中

let documentInteractionController = UIDocumentInteractionController(url: url)
documentInteractionController.name = fileName
documentInteractionController.presentPreview(animated: true)

分享到 Instagram Feed - 复制粘贴下面的相关内容,以防链接稍后失效。

文档交互

如果您的应用程序创建了照片并且您希望您的用户使用 Instagram 共享这些照片,您可以使用文档交互 API在 Instagram 的共享流程中打开您的照片。

您必须首先将文件保存为 PNG 或 JPEG(首选)格式并使用文件扩展名.ig. 使用 iOS 文档交互 API,您可以触发 Instagram 打开照片。我们的文档交互 UTI 的标识符是com.instagram.photo,它符合public/jpegpublic/pngUTI。有关详细信息,请参阅 Apple 文档文章:预览和打开文件UIDocumentInteractionController 类参考

或者,如果您只想在应用程序列表中显示Instagram(不是 Instagram 以及任何其他符合公共/jpeg 标准的应用程序),您可以指定扩展类igo,它的类型为com.instagram.exclusivegram.

触发后,Instagram 将立即向用户展示我们的过滤屏幕。该图像已为 Instagram 预加载和调整大小。为获得最佳效果,Instagram 更喜欢打开 640 像素 x 640 像素正方形的 JPEG。如果图像较大,它将动态调整大小。


推荐阅读