8

Czy można udostępnić wideo na Instagramie bez zapisywania go w rolce aparatu użytkownika?Udostępnianie wideo na Instagram na iOS

to co próbowałem dotąd:

 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 jest URL filmu i zapisuje w folderze Dokumenty.
gdybym zapisać url z instagram.igo na końcu, wtedy, kiedy wybrać udział Instagram otwiera tak:
enter image description here

jeśli mogę zapisać film z .mov na końcu, wydaje się, że jego udział Instagram otwiera zdjęcie (takie jak miniatura wideo), a nie wideo.

+0

wideoURL jest Twoim lokalnym adresem URL? –

+0

@HimanshuMoradiya tak, to wideo zapisane w folderze Dokumenty – Eyal

+0

przechowuj wideo w rolce z aparatu, a nie w folderze dokumentów Widzę twoje pytanie, które piszesz, że przechowujesz wideo w folderze dokumentów, a nie w rolce aparatu, więc musisz przechowywać wideo w rolce z aparatu, więc jego wyświetl na Instagramie –

Odpowiedz

4

To, co dokładnie zrobiłeś źle, jest trudne do ustalenia, ale postaram się odpowiedzieć na pytanie, gdzie mógłbyś się mylić.

Przede wszystkim upewnij się, że wideoURL jest zdefiniowany lokalnie. Kiedy napisałem aplikację delegowania do Instagram, po raz pierwszy określono ścieżkę z menedżera plików, takich jak:

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

Potem napisał ten film do tego katalogu i prawie mają ten sam kod jak ty. Należy wziąć pod uwagę, że należy utworzyć folder igo, a następnie zapisać film w tym folderze. Jeśli spróbujesz odwołać się do folderu, w którym znajduje się film, aplikacja nie odczyta pliku z filmem i nic nie zostanie opublikowane. Gdy jest to plik filmowy z biblioteki zdjęć, użyj AVExportSession i wyeksportuj go do katalogu posting.

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) 

jednak trzeba zrobić, aby uczynić Twój klasy wpis do Instagram przylegają do UIDocumentInteractionControllerDelegate, w przeciwnym razie trzeba rzucić siebie. Musisz również uwzględnić Social. Nie sądzę, abyś zrobił coś złego w drugiej części tego posta, ponieważ dostałbyś xcode błędów i ostrzeżeń.

Mam nadzieję, że pierwsza część może ci pomóc, ponieważ nie sądzę, aby druga część sprawiła ci problemy.

+0

"musisz utworzyć folder igo, a następnie zapisać film w tym folderze"? to tylko rozszerzenie pliku, które musi być igo nie? – Eyal

+0

zrobiłeś to za Ciebie? czy udało ci się przesłać wideo (nie zdjęcie!) na instagram? i nie wideo z rolki z aparatu .. – Eyal

+0

Próbowałem tylko, aby aplikacja działała z instagramem i zamieszczała film wideo z adresu URL, niż wygląda na to, że biblioteka zdjęć nie działa. Mogę ci tylko doradzić, aby zintegrować swoją aplikację z biblioteką zdjęć. – MacUserT