NSURL isFileURL总是返回NO
有人可以向我解释为什么下面的代码:
NSString* filePathString = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; NSLog(@"%i", [[NSURL URLWithString:filePathString] isFileURL]); NSLog(@"%@", filePathString);
输出:
0
“在/ var /移动/应用/ 28ADFC19-874C-4304-94B5-F6441CAE9FAD /文档”
这意味着这个URL不是一个文件的URL。 显然是这样。
背景:
我正在尝试使用AVCaptureMovieFileOutput将影片录制到文件中,但是我certificate的文件url给出了错误:
*由于未捕获exception'NSInvalidArgumentException',原因:'* – [AVCaptureMovieFileOutput startRecordingToOutputFileURL:recordingDelegate:] – 无法logging到URL / var / mobile / Applications / 28ADFC19-874C-4304-94B5-F6441CAE9FAD / Documents / media / CrKNjNhe9so2LRnD9iHK .mov,因为它不是一个文件的URL。
就像原来的例子,这看起来像一个文件的URL。 是什么赋予了?
如果要从文件path创buildNSURL
,则必须使用NSURL fileURLWithPath:
使用URLWithString
假定该string是非文件URL。
只有以file://
开头的NSURL
才是文件的URL。