8

是否可以在Instagram上分享视频而不保存到用户的相机胶卷?在iOS上分享视频到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是视频的网址我保存在文档文件夹。
如果我instagram.igo保存的URL结尾,然后当我选择的Instagram分享这样开:
enter image description here

如果我保存的.mov影片结尾,它似乎Instagram的分享与开放照片(如视频缩略图)而不是视频。

+0

videoURL是你的本地路径url? –

+0

@HimanshuMoradiya是其I保存到文件视频文件夹 – Eyal

+0

商店,视频在相机胶卷不是文档文件夹我看到你的问题,你写你存储视频文件的文件夹没有相机胶卷,所以你需要存储的视频在相机胶卷所以其显示在instagram –

回答

4

究竟做过什么,错的是难以确定的,但我会尽力解决,你可能错了。

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

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

我然后写电影进入这个目录,几乎有相同的代码为你。 请考虑到您需要创建igo文件夹,然后将影片保存到此文件夹中。如果您尝试引用您拥有影片的文件夹,则您的应用程序将不会读取影片文件,也不会发布任何内容。当它是来自照片库的电影文件时,请使用AVExportSession并将其导出到postsPath。

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,否则你需要投的自我。您还需要包含Social。我不认为你在这篇文章的第二部分做了任何错误,因为你会得到xcode错误和警告。

我希望第一部分可以帮助你进一步,因为我不认为第二部分给你的问题。

+0

“你需要创建igo文件夹,然后将电影保存到这个文件夹”文件夹?它只是需要igo不是的文件扩展名? – Eyal

+0

是否为你工作?你成功上传视频(不是照片!)到Instagram?而不是从你的相机胶卷的视频.. – Eyal

+0

我只是试图让一个应用程序与instagram工作,并发布一个网站的视频,而不是照片库似乎不工作。我只能建议您将您的应用程序与照片库集成。 – MacUserT