【问题标题】:NSURL isFileURL always returns NONSURL isFileURL 总是返回 NO
【发布时间】:2012-11-13 11:28:02
【问题描述】:

谁能给我解释一下为什么下面的代码:

NSString* filePathString = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];

NSLog(@"%i", [[NSURL URLWithString:filePathString] isFileURL]);
NSLog(@"%@", filePathString);

输出:

0

“/var/mobile/Applications/28ADFC19-874C-4304-94B5-F6441CAE9FAD/Documents”

这意味着此 url 不是文件 URL。显然,它是。


背景:

我正在尝试使用 AVCaptureMovieFileOutput 将电影录制写入文件,但我证明的文件 url 给出了错误:

* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[AVCaptureMovieFileOutput startRecordingToOutputFileURL:recordingDelegate:] - 无法记录到 URL /var/mobile/Applications/28ADFC19-874C-4304 -94B5-F6441CAE9FAD/Documents/media/CrKNjNhe9so2LRnD9iHK.mov,因为它不是文件 URL。'

在我看来,这就像一个文件 URL,就像原始示例一样。什么给了?

【问题讨论】:

    标签: ios filesystems nsurl nsfilemanager avcapturemoviefileoutput


    【解决方案1】:

    如果要从文件路径创建NSURL,则必须使用NSURL fileURLWithPath:URLWithString 的使用假定字符串是非文件 URL。

    NSURL 仅当它以 file:// 开头时才是文件 URL。

    【讨论】:

      猜你喜欢
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      相关资源
      最近更新 更多