我正在编写一个简单的测试应用程序,用于将视频从iOS上传到Facebook.
由于FacebookSDK的所有文档都在Objective-C中,因此我发现很难在线找到有关如何使用Swift执行此操作的示例/教程.
到目前为止我有这个在我的UI上放置一个共享按钮,但它看起来已禁用,从我读到的这是因为没有内容设置,但我看不出这是怎么可能的.
let video_content : FBSDKShareVideoContent = FBSDKShareVideoContent() video_content.video = FBSDKShareVideo(videoURL: getVideoURL()) let button : FBSDKShareButton = FBSDKShareButton() button.shareContent = video_content button.frame = CGRectMake((UIScreen.mainScreen().bounds.width - 100) * 0.5,50,100,25) self.view.addSubview(button)
我的getVideoURL()函数返回一个NSURL,它肯定包含视频的url(我已将其打印到控制台并检查它指向我之前存储在文件夹中的视频).
我看了社交框架,遗憾的是我无法使用它,因为它似乎只用于分享照片而不能分享视频.
我正在使用最新版本的Xcode,Swift和Facebook SDK.
解决方法
@angryDuck
试试这个代码它会起作用
func uploadVideoOnFacebook() { var pathURL: NSURL var videoData: NSData pathURL = NSURL(string: self.strUploadVideoURL)! videoData = NSData.dataWithContentsOfURL(NSURL(string: self.strUploadVideoURL)!) Nsstring * strDesc strDesc = txtCaption.text! var videoObject: [NSObject : AnyObject] = ["title": "application Name","description": strDesc,pathURL.absoluteString(): videoData] var uploadRequest: FBRequest = FBRequest(graPHPath: "me/videos",parameters: videoObject,HTTPMethod: "POST") self.view!.userInteractionEnabled = false uploadRequest.startWithCompletionHandler({(connection: FBRequestConnection,result: AnyObject,error: NSError) -> Void in if !error { NSLog("Success") } else { NSLog("Error") } }) }