区分 .app/.xcodeproj 和 Cocoa 中的实际文件夹

Distinguish things like .app/.xcodeproj and actual folders in Cocoa

我正在尝试构建一个替代文件管理器,其工作方式类似于 Cocoa 中的默认 Finder。

你可以想象,应用程序需要显示某个目录中的files/subfolders列表,当用户点击一个项目时,它会检查用户点击的是文件夹还是文件.如果它是一个文件夹,应用程序只显示该文件夹的内容。如果是文件,将使用默认应用程序打开。

我使用 NSFileManager.file​Exists(at​Path:​is​Directory:​) 来确定某个路径中的项目是否为文件夹。这在大多数情况下效果很好,但对于 something.appproject.xcodeproj 之类的内容,根据该方法,它们也被视为目录。

我知道从技术上讲它们确实只是文件夹,但是 Cocoa 中有没有办法将它们与实际文件夹区分开来?

  • 使用(NS)URL.
  • 通过 resourceValues(forKeys 获取资源键 isDirectoryKeyisPackageKey 的值。

如果捆绑 isPackagetrue