【问题标题】:Add badge icon overlay to Finder icons and folders?将徽章图标覆盖添加到 Finder 图标和文件夹?
【发布时间】:2011-11-03 06:43:48
【问题描述】:

当我们打开 Dropbox 文件夹时,我们可以看到文件夹左下角的图标。

我正在开发一个我也想要相同行为的应用程序。如果文件夹正在同步,那么它将显示同步图标,对于其他操作,它将显示其他图标。在 Finder 中查看时标记的文件/文件夹必须带有自定义图标。但是当它们被选中进行预览时(使用空格键),它们必须显示其原始图标(即文件夹的蓝色图标等)。

【问题讨论】:

  • 你是这样实现的吗?
  • 哦,太好了..你用过 Finder Sync 吗?
  • 你是怎么做到的?您能否为此提供任何参考链接或示例演示链接?这么多天以来,我一直在尝试使用苹果官方文档中的 Finder Sync 来实现这一点,但直到现在还没有成功。任何帮助表示赞赏..!
  • 苹果开发者文档中的所有内容。您可以在开发者论坛上搜索示例代码。
  • @jigs 看看FinderSync

标签: objective-c cocoa macos-carbon finder


【解决方案1】:

从 Yosemite (10.10) 开始,现在有一种官方支持(因此与 Mac App Store 兼容)的方法,用于在 Finder 图标中以Finder Sync extensions 的形式显示同步状态标记。

【讨论】:

    【解决方案2】:

    Dropbox 开发了一个 NSPlugin,用于在每个文件夹/文件上显示图标徽章。如您所知,从 Snow Leopard 开始,Apple 弃用了用于 Finder 的 NSPlugins。我认为 Dropbox 通过 hack 解决了这个问题 - 重新启用了插件支持。我不认为苹果会喜欢这样。苹果希望第三方应用只提供服务支持,因为他们不希望在 Finder 的进程中出现任何第三方代码,但服务却乏善可陈。

    【讨论】:

    • 我应该自己写插件吗?
    • 如果您想去 Mac AppStore 销售您的应用程序,那么您可能不想这样做。这是因为 Apple 员工会审查您的应用程序,并可能会检查私有 API 的使用或“不良”做法。归根结底,这是一个冒险的策略,因为它涉及到做一些苹果发现后会皱眉的事情。如果他们不这样做,您将拥有满意的客户。
    • 有没有做iconoverlayer的开源项目?
    • 是的,你可以看看颠覆客户端。
    【解决方案3】:

    除了其他答案中提到的 Finder Sync Extension 之外,文件上的标记(和其他元数据)还可以通过 File Provider API 完成:

    文件提供者

    其他应用程序用于访问由您的应用程序管理并与远程存储同步的文件和文件夹的扩展程序。

    https://developer.apple.com/documentation/fileprovider

    具体来说,NSFileProviderItemDecorating 类:

    徽章
    系统将徽章图像显示在项目图标的顶部。它只显示第一个徽章图像。

    文件夹徽章
    仅适用于文件夹项目。系统将图像压印在文件夹图标上。它只显示第一个 FolderBadge 图像。

    【讨论】:

      【解决方案4】:

      这可以通过创建新的 Finder 同步扩展来实现。在此处查找更多信息:https://stackoverflow.com/a/43183393

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-24
        • 2019-08-31
        • 1970-01-01
        • 1970-01-01
        • 2012-05-07
        • 1970-01-01
        • 2012-05-04
        • 1970-01-01
        相关资源
        最近更新 更多