2

我有一个应用程序,它可以(除其他外)显示和更改文件上的 Finder 标签。NSWorkspace它通过'sfinderLabels和方法获取颜色和标签,并使用's和方法finderLabelColors获取和设置文件上的标签。这一切都很好。NSURLgetResourceValue:forKey:error:setResourceValue:forKey:error:

当通过 Finder 首选项更改标签名称时,就会出现问题。我发现NSWorkspace'sfinderLabels将始终给出默认名称(“红色”、“橙色”等),而不是用户输入的任何自定义标签名称。

我在这个项目中发现了一些代码,它们确实正确地获取了自定义 Finder 标签字符串,但是它是通过访问 Finder 首选项(特别是通过调用[[NSUserDefaults standardUserDefaults] persistentDomainForName:@"com.apple.Labels"])来实现的。除了感觉恶心之外,NSUserDefaults 参考说明:

沙盒注意事项
沙盒应用程序无法访问或修改任何其他应用程序的首选项。

我的应用程序是沙盒的,所以这显然行不通。

NSWorkspace所以我的问题是,为什么不finderLabels返回自定义 Finder 标签字符串,还有其他方法可以在沙盒应用程序中实现吗?

4

0 回答 0