Мы пытаемся загрузить видео в истории 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.