SWIFT: NSData contentsOfUrl returns nil from valid URL

SWIFT: NSData contentsOfUrl returns nil from valid URL

我有一个 URL(不是路径或字符串):file:///private/var/mobile/Containers/Data/Application/50558DAA-7082-4BB0-AB0C-F7BA0DC483E5/tmp/yFFaofWcIWln-SCVideo-Merged.mp4

当我使用 NSData(contentsOfUrl: url) 我得到 nil.

我已经用库 URL 中的资产尝试了相同的代码,没有任何问题。

这两个URLS有区别吗? 任何人都知道如何从上面提取 NSData URL?

提前致谢

编辑:实际文件似乎有问题,由于某种原因它只包含音频而没有视频。需要进一步调查。 感谢您的贡献。

如何获得 URL? 创建 URL 的方法有很多种。使用文件路径创建 NSURL 时应使用 init(fileURLWithPath path: String)

您可能想检查 URL 中的路径是否正确,这可能是 contentsOfUrl 返回 nil 的原因。

但是,您所尝试的可以像这样轻松实现:

let filePath = "file:///private/var/mobile/Containers/Data/Application/50558DAA-7082-4BB0-AB0C-F7BA0DC483E5/tmp/yFFaofWcIWln-SCVideo-Merged.mp4"
let data = NSData.dataWithContentsOfMappedFile(filePath)

在我的具体情况下,缺少 URL 中的实际数据...所以这就是它返回 nil 的原因。

感谢大家的帮助:)