我有an app可以(除其他外)显示和更改文件上的Finder标签。它通过NSWorkspace
的{{3}}和finderLabels
方法获取颜色和标签,并使用NSURL
的{{3}}获取并设置文件上的标签, finderLabelColors
方法。一切正常。
当通过Finder首选项更改标签名称时出现问题。我发现NSWorkspace
的{{3}}将始终提供默认名称(“红色”,“橙色”等),而不是用户输入的任何自定义标签名称。
我在getResourceValue:forKey:error:
中找到了一些正确获取自定义Finder标签字符串的代码,但它是通过访问Finder首选项(具体来说,通过调用[[NSUserDefaults standardUserDefaults] persistentDomainForName:@"com.apple.Labels"]
)来实现的。除了感觉icky,setResourceValue:forKey:error:
州:
沙盒注意事项
沙盒应用无法访问或修改任何其他应用的首选项。
我的应用程序是沙盒,因此显然无效。
所以我的问题是,为什么NSWorkspace
的{{3}}不会返回自定义Finder标签字符串,还有其他一些方法可以在沙盒应用中实现吗?