【问题标题】:Resolving all symbolic links in NSURL解析 NSURL 中的所有符号链接
【发布时间】:2013-01-16 22:15:58
【问题描述】:

我正在编写一小段代码,我应该在其中检测NSURL 是否包含符号链接(即,还应检测除最后一个之外的符号文件组件)。为此,我将NSURL 本身与-URLByResolvingSymlinksInPath 返回的NSURL 对峙。问题是这个方法似乎返回所有小写的符号链接。有没有其他方法可以解决这个问题?

【问题讨论】:

  • 返回已解析的小写符号链接有什么问题?
  • 你试过-[NSString stringByResolvingSymlinksInPath]吗?它有相同的“错误”吗?

标签: cocoa path nsurl symlink symlink-traversal


【解决方案1】:

要么我真的做错了什么,要么这个错误已在最新的 Mountain Lion 更新中得到修复。现在所有符号链接都已正确解析。

【讨论】:

    【解决方案2】:

    您可以手动遍历符号链接:

    1. 使用-[NSFileManager attributesOfItemAtPath:error:] 检测符号链接,并在键NSFileType 中搜索NSFileTypeSymbolicLink 值。

    2. 使用-[NSFileManager destinationOfSymbolicLinkAtPath:error:] 获取目标路径并附加它们。

    对每个路径组件重复此操作。

    【讨论】:

    • 谢谢,如果我没有注意到错误已解决,这将是我的选择!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-14
    • 2017-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多