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