它们是不同的还是简单的别名?
我通过运行以下命令获得/私有/var:
FileManager.default.contentsOfDirectory(at: folder, includingPropertiesForKeys: [], options: [])第二个是用一个简单的:
data.write(to: f, options: [.atomic]) 其中f位于与“文件夹”相同的目录中。
发布于 2018-03-20 19:21:42
它们是相同的目录,可以通过检索两个目录的“规范路径”来验证:
let url1 = URL(fileURLWithPath: "/var/mobile/Containers/")
if let cp = (try? url1.resourceValues(forKeys: [.canonicalPathKey]))?.canonicalPath {
print(cp)
// "/private/var/mobile/Containers"
}
let url2 = URL(fileURLWithPath: "/private/var/mobile/Containers/")
if let cp = (try? url2.resourceValues(forKeys: [.canonicalPathKey]))?.canonicalPath {
print(cp)
// "/private/var/mobile/Containers"
}实际上,/var是指向/private/var的一个符号链接。
var buffer = Array<Int8>(repeating: 0, count: 1024)
if readlink("/var", &buffer, buffer.count) > 0 {
print(String(cString: &buffer))
// "private/var"
}发布于 2019-06-04 17:37:02
对于Swift用户来说,使用URL.standardizedFileURL可以消除由包含软链接或其他最终解析到同一个文件的不同元素的路径造成的模糊/混乱。
https://stackoverflow.com/questions/49391830
复制相似问题