Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 是否将徽章图标覆盖添加到Finder图标和文件夹?_Objective C_Cocoa_Macos Carbon_Finder - Fatal编程技术网

Objective c 是否将徽章图标覆盖添加到Finder图标和文件夹?

Objective c 是否将徽章图标覆盖添加到Finder图标和文件夹?,objective-c,cocoa,macos-carbon,finder,Objective C,Cocoa,Macos Carbon,Finder,当我们打开Dropbox文件夹时,我们可以在文件夹的左下角看到图标 我正在开发一个应用程序,在其中我也需要相同的行为。如果文件夹正在同步,则它将显示同步图标,对于其他操作,它将显示其他图标。在Finder中查看标记的文件/文件夹时,必须使用自定义图标显示。但当选择预览时(使用空格键),它们必须显示其原始图标(即文件夹等的蓝色图标) Dropbox开发了一个NSPlugin,用于在每个文件夹/文件上显示图标徽章。正如你们所知,从雪豹开始,苹果公司就不推荐用于Finder的NSPlugins。我认

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

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


Dropbox开发了一个NSPlugin,用于在每个文件夹/文件上显示图标徽章。正如你们所知,从雪豹开始,苹果公司就不推荐用于Finder的NSPlugins。我认为Dropbox解决了这个问题,它采用了一种黑客技术,即重新启用插件支持。我不认为苹果会喜欢这样。苹果希望第三方应用程序只提供服务支持,因为他们不希望在Finder的过程中使用任何第三方代码,但服务并不令人满意。

从Yosemite(10.10)开始,现在有一个官方支持的应用程序(因此与Mac App Store兼容)以。

的形式在Finder图标中显示同步状态徽章的方法这可以通过创建新的Finder sync Extension来实现。在此处查找更多信息:

除了其他答案中提到的Finder Sync扩展外,文件上的徽章(和其他元数据)还可以通过文件提供程序API完成:

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

具体而言,该类:

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

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


我应该写我自己的插件吗?如果你想去Mac AppStore卖你的应用,那么你可能不想。这是因为苹果员工将审查你的应用程序,并可能检查私人API使用情况或“不良”做法。归根结底,这是一个冒险的策略,因为它涉及到做一些苹果公司发现后会皱眉的事情。如果他们没有,你会有快乐的客户。有没有一个开源项目可以在层上做图标?是的,你可以看看subversion客户端。让我们看看你是如何实现的?哦,太好了。你使用Finder Sync了吗?你是怎么做到的?您能提供任何参考链接或示例演示链接吗?从这么多天以来,我一直在尝试使用苹果官方文档中的Finder Sync实现这一点,但直到现在都没有成功。感谢您的帮助。。!一切都在苹果开发者文档中。您可以在开发者论坛上搜索示例代码。@jigs看看