8

Ist es möglich, ein Video auf Instagram freizugeben, ohne es in der Camera Roll des Nutzers zu speichern?Video auf Instagram auf iOS teilen

ist es das, was ich bisher versucht:

 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 die URL des Videos ist i im Ordner Dokumente gespeichert werden.
wenn ich die URL mit instagram.igo am Ende zu speichern, dann, wenn ich instagram Aktie wählen öffnet es wie folgt aus:
enter image description here

, wenn ich das Video mit .mov am Ende zu speichern, dessen scheint, dass Instagram Aktie beginnt mit ein Foto (wie Video-Thumbnail) und kein Video.

+0

videoURL ist Ihre lokale Pfad-URL? –

+0

@HimanshuMoradiya ja sein das Video, das ich in den Dokumentenordner speicherte – Eyal

+0

speichern Sie dieses Video in der Kamerarolle nicht Dokumentordner ich sehe Ihre Frage, die Sie schreiben, dass Sie Video im Dokumentenordner nicht speichern Kamerarolle, also müssen Sie Video in der Kamerarolle so sein speichern Anzeige in Instagram –

Antwort

4

Was genau Sie falsch gemacht haben, ist schwer zu bestimmen, aber ich werde versuchen, anzugehen, wo Sie vielleicht falsch gelegen haben.

Stellen Sie zunächst sicher, dass die videoURL lokal definiert ist. Wenn ich eine App Posting Instagram geschrieben, ich definiert zunächst den Pfad mit Dateimanager, wie:

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

schrieb ich dann den Film in dieses Verzeichnis und haben fast den gleichen Code wie Sie. Berücksichtigen Sie, dass Sie den ifo-Ordner erstellen und den Film dann in diesem Ordner speichern müssen. Wenn Sie versuchen, auf den Ordner zu verweisen, in dem sich der Film befindet, liest Ihre App die Filmdatei nicht und es wird nichts gepostet. Wenn es sich um eine Filmdatei aus der Fotobibliothek handelt, verwenden Sie eine AVExportSession und exportieren Sie sie in den PostingPath.

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) 

Aber Sie müssen Ihre Klasse Posting machen, um die UIDocumentInteractionControllerDelegate Instagram haften, sonst müssen Sie selbst werfen. Sie müssen auch Social enthalten. Ich glaube nicht, dass du im zweiten Teil dieses Posts etwas falsch gemacht hast, weil du xcode-Fehler und Warnungen bekommen hättest.

Ich hoffe der erste Teil kann dir weiterhelfen, da ich nicht denke, dass der zweite Teil dir Probleme bereitet hat.

+0

"Sie müssen den ifo Ordner erstellen und dann den Film in diesem Ordner speichern" Ordner? es ist nur die Dateierweiterung, die Iigo nicht sein muss? – Eyal

+0

hat das für dich funktioniert? Ist es dir gelungen, ein Video (kein Foto!) auf Instagram hochzuladen? und kein Video von deiner Kamera-Rolle. – Eyal

+0

Ich habe gerade versucht, eine App zu machen, die mit Instagram arbeitet, und ein Video von einer URL zu veröffentlichen, außer der Foto-Bibliothek scheint nicht zu funktionieren. Ich kann dir nur raten, deine App in die Fotobibliothek zu integrieren. – MacUserT