在macOS上,/ tmp是/ private / tmp的符号链接,但是当我这样做时:
URL(fileURLWithPath: "/tmp").resolvingSymlinksInPath().path
返回"/tmp"
。
(我已向苹果公司报告此事,他们将其作为副本关闭,因此他们已经知道了。)
是否公开知道哪种路径具有此方法返回的错误值?如果它只是几条内部硬编码的路径,那么检查它们会比从头重写一个有效的resolvingSymlinksInPath()更容易。
答案 0 :(得分:1)
请参阅resolvingSymlinksInPath
的文档:
如果接收路径的名称以/ private开头,则此属性会剥离/ private指示符,前提是结果是现有文件的名称。
因此,如果结果是/private/var
并且有/var
那么这就是返回的内容。
这似乎仅基于约定,没有检查结果路径是否引用相同的文件系统项。例如。创建/a
,/private/a
和sym链接/test
到/private/a
然后解析/test
的符号链接,结果为/a
尽管不相同作为/private/a