首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ios file:///var/mobile/Containers和file:///private/var/mobile/Containers?之间的任何差异

ios file:///var/mobile/Containers和file:///private/var/mobile/Containers?之间的任何差异
EN

Stack Overflow用户
提问于 2018-03-20 18:36:16
回答 2查看 2.6K关注 0票数 6

它们是不同的还是简单的别名?

我通过运行以下命令获得/私有/var:

代码语言:javascript
复制
FileManager.default.contentsOfDirectory(at: folder, includingPropertiesForKeys: [], options: [])

第二个是用一个简单的:

代码语言:javascript
复制
data.write(to: f, options: [.atomic]) 

其中f位于与“文件夹”相同的目录中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-20 19:21:42

它们是相同的目录,可以通过检索两个目录的“规范路径”来验证:

代码语言:javascript
复制
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的一个符号链接。

代码语言:javascript
复制
var buffer = Array<Int8>(repeating: 0, count: 1024)
if readlink("/var", &buffer, buffer.count) > 0 {
    print(String(cString: &buffer))
    // "private/var"
}
票数 5
EN

Stack Overflow用户

发布于 2019-06-04 17:37:02

对于Swift用户来说,使用URL.standardizedFileURL可以消除由包含软链接或其他最终解析到同一个文件的不同元素的路径造成的模糊/混乱。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49391830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档