【问题标题】:How do to identify that a file is a package?如何识别文件是包?
【发布时间】:2014-12-12 08:26:34
【问题描述】:

我使用 NSDirectoryEnumerator 枚举 Cocoa App (OSX) 中的文件。我能够使用 NSURL 文件属性键识别文件的许多属性,例如文件是否为目录、其创建日期、修改日期等。我无法确定的是文件是否是包?我已经阅读了所有 NSURL,NSFileManager 参考资料,但我还没有找到方法。我错过了什么吗?

我还看到,对于作为包的文件,NSURLIsDirectoryKey 返回 true。但就我而言,我仍然想分别对目录和包进行分类。

【问题讨论】:

  • 你的意思是“捆绑”吗?
  • 不!我只是在 OSX App 中遍历一个目录,我需要区分目录和包。我想知道枚举的文件是不是一个包。
  • @Kevin 在发布这个问题之前我有那个解决方案,如果 NSURLIsDirectoryKey 返回 true,为什么不检查文件是否具有像 .something 这样的扩展名,那么这意味着它是一个包,但是在 mac 中命名的文件夹呢? com.something.something 等?
  • NSWorkspace 为这类事情提供了high level interface。 LaunchServices 提供底层。

标签: objective-c macos nsfilemanager


【解决方案1】:

我在 NSWorkspace 类中找到了该方法。想知道为什么它没有包含在 NSURL 文件属性键中

- (BOOL)isFilePackageAtPath:(NSString *)fullPath

返回值 YES,如果路径标识一个文件包;否则,如果路径不存在,不是目录,或者不是文件包,则为NO。

【讨论】:

    猜你喜欢
    • 2019-11-27
    • 2014-10-27
    • 2021-11-26
    • 1970-01-01
    • 2014-06-29
    • 2015-02-11
    • 2021-11-24
    • 2021-12-01
    • 2021-04-26
    相关资源
    最近更新 更多