iOS Swift-无法使用库中的视频

iOS Swift-无法使用库中的视频,ios,swift,video-library,Ios,Swift,Video Library,我正在尝试在我的swift应用程序中从库中获取视频。 我正在使用以下代码段: print("ChatDetailsController - imgaction - Vid from Lib pressed") self.selection = "videoLib"; self.imgSelection = "vidFromLib" self.imagePicker.sourceType = .PhotoLibrary self.i

我正在尝试在我的swift应用程序中从库中获取视频。 我正在使用以下代码段:

 print("ChatDetailsController - imgaction - Vid from Lib pressed")
        self.selection = "videoLib";
        self.imgSelection = "vidFromLib"
        self.imagePicker.sourceType = .PhotoLibrary
        self.imagePicker.delegate = self
        self.imagePicker.mediaTypes = ["public.movie"]
        self.presentViewController(self.imagePicker!, animated: true, completion: nil)
然后在委托方法中:

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
    if(selection == "videoLib")
    {
    if let videoURL = info[UIImagePickerControllerReferenceURL] as? NSURL
        {


            print("imagePickerController - reached for video - from Lib - \(videoURL)")
            let videoData = NSData(contentsOfURL: videoURL)

         }   
   }

}
运行应用程序时,它会显示库,我可以选择一个视频,然后显示压缩视频。。但随后应用程序崩溃了

当我试图访问
videoData
变量时会发生崩溃,因为它无法获取实际数据,因为路径是资产路径而不是视频路径

日志显示类似于此的内容:

致命错误:在展开可选值时意外发现nil

打印功能显示:

imagePickerController-视频到达-从库-资源-library://asset/asset.MOV?id=7D3BFA00-A7CB-470C-8899-F82FCC2CBC54&ext=MOV

此外,在选择/选择视频后,控制台/日志中会显示与此类似的消息:

[通用]PLPrevieWimage的视频路径/var/mobile/Media/PhotoData/cplasets/group419/A2901DD1-FDEF-423B-B4A3-E808B9AC45E1.MOV和VideoAtpath的持续时间不存在

当然,文件名在每次运行时都会更改

我可以从相机上获取视频和图像,从图书馆获取图像,我只是在使用图书馆的视频时遇到了问题。我希望看到类似以下内容的视频URL:

/var/mobile/Containers/Data/Application/BEDDC883-B20E-496D-8C9A-A40EC0A29214/Documents/63ea24932c101b76c72fcbae393fc9b.mov
例如;视频文件位于应用程序中且未显示为不可用的资源URL的位置。
任何帮助都将不胜感激。

问题是您试图获取错误的视频。您正在尝试使用
信息[UIImagePickerControllerReferenceURL]
。您需要的是
信息[UIImagePickerControllerMediaURL]

你完全正确!我已经从相机中选择了它,但我不认为它与视频库部分相同。我会接受你的回答,只要我得到更多的代表点。非常感谢!这方面有更新吗?