ios – 将视频分享到Facebook

我正在编写一个简单的测试应用程序,用于将视频从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")
        }
    })
}

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...