3

我正在构建一个 macOS 应用程序,它使用类似于Swift 3: Set Finder label color的扩展属性以编程方式为文件设置 Finder 标签。这很好用。

但是,我想创建一个标签并使其在文件系统中可用,而无需将标签添加到特定文件中。例如,当用户点击一个按钮时,我想创建一个标签,类似于Finder - Preferences - Tags,您可以通过按 + 按钮来创建一个新标签。您不必指定文件或文件夹。

我尝试使用setResourceValue API向虚拟文件夹的_kMDItemUserTags添加新标签。这将按预期创建标签。但是,虚拟文件​​夹现在显示在搜索此标签中,这并不好。一旦我再次从虚拟文件夹中删除标签(并且没有其他文件或文件夹具有此标签),该标签就会从可用标签列表中消失。

所以,我想知道如何在 Swift 中创建一个新标签并将其持久化而不将其分配给文件?

4

1 回答 1

0

最近,当被要求将标记支持添加到我的“SDview”图像查看器/组织器时,我对该主题进行了一些研究,似乎这些标签没有任何存储空间,您可以在其中添加/保留它们“以供以后使用” ”。可用标签列表是从 Spotlight 元数据聚合已使用的标签构建的动态结构。IOW 如果您希望您的标签显示在可用标签列表中 - 您必须将其分配给某些东西。

于 2021-01-20T12:09:14.767 回答