【问题标题】:Is it possible to share media file to Instagram using URL in iOS?是否可以在 iOS 中使用 URL 将媒体文件共享到 Instagram?
【发布时间】:2021-06-15 12:54:10
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 检查一下,如果它适合你stackoverflow.com/a/55019593/10842413
  • @iOSDeveloper 谢谢分享。但我的问题是如何使用 URL 共享媒体文件。这个答案和我一样使用了 PHAsset。

标签: ios swift instagram phasset


【解决方案1】:

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

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

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

文档交互

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

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

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

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

【讨论】:

  • 谢谢。但是如果我使用UIDocumentInteractionController,则无法直接显示Instagram。我的应用程序应该打开该文档控制器视图,用户还应该找到 Instagram 并单击。对用户不好。那你知道如何直接打开 Instagram 使用 URL 分享媒体文件吗?
  • 不幸的是,它不适用于 iOS 14 和 iOS 15
猜你喜欢
  • 2018-09-16
  • 2014-12-11
  • 1970-01-01
  • 2021-08-13
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 1970-01-01
  • 2015-09-08
相关资源
最近更新 更多