繁体   English   中英

将视频分享到Facebook - Swift IOS

[英]Sharing Video to Facebook - Swift IOS

我正在编写一个应用程序,试图将视频发布到Facebook。 理想情况下,我想从Parse中提取视频,并将其转换为NSURL。 现在我正在尝试使用ImagePicker来选择用于共享的照片。

现在我出现了ImagePicker,但是我遇到了两个错误。 1)只有照片显示在滚动中2)我在didFinishPickingMediaWithInfo函数中获得了“在unwrapping可选值时找到nil”。 对于问题1,我已将UIImagePickerControllerSourceType更改为.PhotoLibrary,但它仍然省略了视频。

  override func viewWillAppear(animated: Bool) {
     let profileButton = UIBarButtonItem(image: img, style: .Done, target: self, action: "videoBtnClicked")
     self.navigationItem.setRightBarButtonItem(profileButton, animated: true)

  func videoBtnClicked(){
      if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum){
          print("Video capture")
          imagePicker.delegate = self
          imagePicker.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum
          imagePicker.allowsEditing = false
          self.presentViewController(imagePicker, animated: true, completion: nil)
        }
    }

  func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
      let video : FBSDKShareVideo = FBSDKShareVideo()
          //error occurs line below here       
          video.videoURL = info[UIImagePickerControllerMediaURL] as! NSURL
      let content : FBSDKShareVideoContent = FBSDKShareVideoContent()
      content.video = video
    }
  1. 仅限照片问题
 func videoBtnClicked(){ if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum){ print("Video capture") imagePicker.delegate = self imagePicker.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum **imagePicker.mediaTypes = ["public.movie"]** imagePicker.allowsEditing = false self.presentViewController(imagePicker, animated: true, completion: nil) } } 
  1. 对于第二个问题,您应该先检查网址
 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { let video : FBSDKShareVideo = FBSDKShareVideo() //error occurs line below here if let url = video.videoURL{ video.videoURL = info[UIImagePickerControllerMediaURL] as? NSURL let content : FBSDKShareVideoContent = FBSDKShareVideoContent() content.video = video } } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM