Как решить проблему с загрузкой видео в Facebook Stories - PullRequest
0 голосов
/ 18 июня 2019

Мы пытаемся загрузить видео в истории Facebook, используя их общий API https://developers.facebook.com/docs/sharing

Я могу загружать изображения без проблем. Видео появляется для загрузки, но в конечном итоге показывает черный экран со значком видео.

Мы используем AlamoFire на iOS, чтобы извлечь файл, а затем отправляем его.

let destination = DownloadRequest.suggestedDownloadDestination(for: .documentDirectory)
Alamofire.download(media[0]["url"]!, to: destination)
    .downloadProgress { progress in
    }
    .responseData { response in
        if response.error == nil, let filePath = response.destinationURL?.path {
            PHPhotoLibrary.shared().saveVideo(filePath: filePath, albumName: "Loomly", completion: { (asset) in
                // Clean up the tmp file otherwise error will be thrown on re-download
                if FileManager.default.fileExists(atPath: (response.destinationURL?.path)!) {
                    try! FileManager.default.removeItem(atPath: (response.destinationURL?.path)!)
                }

                if asset == nil {
                    // present notification
                }

                if #available(iOS 10.0, *) {
                    pasteboard.setItems([["com.facebook.sharedSticker.backgroundVideo" : (asset?.localIdentifier)!, "com.facebook.sharedSticker.appID" : appID]],
                                        options: [UIPasteboard.OptionsKey.expirationDate: expirationDate])

                    UIApplication.shared.open(facebookUrl!, options: [:], completionHandler: { (success) in
                        if success {
                            NotificationCenter
                                .default
                                .addObserver(self, selector:#selector(self.popAndReloadOnAppear), name:UIApplication.willEnterForegroundNotification, object: nil)
                        }
                    })
                } else {
                    // Fallback on earlier versions - Since we are bumping minimum version to 10 we probably don't need this
                }

            }, accessDenied: {
                DispatchQueue.main.async {
                    HUD.hide()
                }
            })
        }
}

Я надеюсь, что кто-то еще столкнулся с этим и, возможно, решил это или имеет какие-то идеи. У меня также есть открытый билет на Facebook.

...