【问题标题】:Share video to Instagram on iOS在 iOS 上将视频分享到 Instagram
【发布时间】:2017-06-15 11:31:21
【问题描述】:

是否可以在 Instagram 上分享视频而不将其保存到用户的相机胶卷中?

这是我迄今为止尝试过的:

let instagramURL = URL(string: "instagram://app")!
  if (UIApplication.shared.canOpenURL(instagramURL)) {

      self.documentController = UIDocumentInteractionController(url: videoURL)
      self.documentController.delegate = self
      self.documentController.uti = "com.instagram.exlusivegram"
      self.documentController.presentOpenInMenu(from: self.view.frame, in: self.view, animated: true)

  } else {
      print(" Instagram isn't installed ")
  }  

videoURL 是我保存在 Documents 文件夹中的视频的 URL。
如果我在最后保存带有Instagram.igo 的 URL,那么当我选择 Instagram 分享时,它会像这样打开:

如果我在最后使用 .mov 保存视频,则 Instagram 分享似乎以照片(如视频缩略图)而不是视频打开。

【问题讨论】:

  • videoURL 是你的本地路径 url 吗?
  • @HimanshuMoradiya 是的,它是我保存到 Documents 文件夹中的视频
  • 将该视频存储在相机胶卷而不是文件夹中我看到您写的问题是您将视频存储在文件夹而不是相机胶卷中,因此您需要将视频存储在相机胶卷中,以便在 Instagram 中显示
  • @HimanshuMoradiya 是的,我还写了我不想将其保存到相机胶卷。保存到相机胶卷需要询问用户访问他的照片库的权限。我不想那样。
  • 我认为你必须阅读instagram.com/developer/review

标签: ios instagram uiactivityviewcontroller uidocumentinteraction


【解决方案1】:

你到底做错了什么很难确定,但我会尝试解决你可能做错的地方。

首先确保 videoURL 是在本地定义的。当我写一个发布到 Instagram 的应用程序时,我首先用文件管理器定义了路径,比如:

let tempDirectory = FileManager().temporaryDirectory
var postingPath = tempDirectory.appendingPathComponent("postingVideo")
postingPath = postingPath.appendingPathExtension("igo")

然后我把电影写到这个目录中,几乎和你的代码一样。 请注意您需要创建 igo 文件夹,然后将电影保存到此文件夹中。如果您尝试引用电影所在的文件夹,您的应用将不会读取电影文件,也不会发布任何内容。当它是照片库中的电影文件时,使用 AVExportSession 并将其导出到 postPath。

self.instagramController = UIDocumentInteractionController.init(url: postingPath)
self.instagramController.uti = "com.instagram.exclusivegram"
self.instagramController.delegate = self
self.instagramController.presentOpenInMenu(from: 
self.navigationItem.rightBarButtonItem!, animated: true)

但是,您确实需要让发布到 instagram 的课程遵守 UIDocumentInteractionControllerDelegate,否则您需要自行转换。您还需要包括社交。我认为您在本文的第二部分没有做错任何事情,因为您会收到 xcode 错误和警告。

我希望第一部分可以进一步帮助您,因为我认为第二部分没有给您带来任何问题。

【讨论】:

  • "您需要创建 igo 文件夹,然后将电影保存到此文件夹中" 文件夹吗?它只是需要 igo no 的文件扩展名?
  • 这对你有用吗?您成功将视频(不是照片!)上传到 Instagram 了吗?而不是您相机胶卷中的视频..
  • 我只是试图让一个应用程序与 instagram 一起工作,并从照片库以外的 url 发布视频似乎不起作用。我只能建议您将您的应用与照片库集成。
猜你喜欢
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多