我无法获得editedVideoPath的完整NSURL,这是我的代码:
// GLOBAL VARIABLES var videoPath = String() var videoURL = NSURL() // Video Editor delegate func videoEditorController(editor: UIVideoEditorController, didSaveEditedVideoToPath editedVideoPath: String) { if saveToPhotoLibrary { if UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(editedVideoPath) { UISaveVideoAtPathToSavedPhotosAlbum(editedVideoPath, self, nil, nil) } print("SAVED TO PHOTO LIBRARY AT: \(editedVideoPath)") } videoPath = editedVideoPath videoURL = NSURL(string: editedVideoPath)! print("VIDEO PATH: \(videoPath)") print("VIDEO URL: \(videoURL)") dismissViewControllerAnimated(true, completion: nil) }
问题是我无法从videoPath字符串中获取完整的NSURL ,这是XCode控制台输出的内容:
VIDEO PATH: /private/var/mobile/Containers/Data/Application/D7536AD4-353A-48CA-8F31-2D78F9F10730/tmp/trim.BFF7D20F-138A-46A2-A58E-76736AF7343E.MOV VIDEO URL: /private/var/mobile/Containers/Data/Application/D7536AD4-353A-48CA-8F31-2D78F9F10730/tmp/trim.BFF7D20F-138A-46A2-A58E-76 ... 343E.MOV
如您所见,VIDEO URL几乎在其末尾获得点,而VideoPath字符串是正确的。这是一个非常有线的问题,我从未在此NSURL语句中遇到过:
videoURL = NSURL(string: editedVideoPath)!
由于我需要将编辑后的视频上传到Web服务器,因此需要完整的正确URL。我以为是print()的问题,但是如果我尝试抓住videoURL, XCode会告诉我它为nil,所以print()函数会说实话:(
我在此处搜索关于stackoverflow的信息,但没有成功。
希望有人可以帮助,谢谢!
由于您使用的是文件路径,因此您想使用
NSURL(fileURLWithPath: editedVideoPath)
代替
NSURL(string: editedVideoPath)