将徽章图标覆盖添加到Finder图标和文件夹中?

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

Dropbox badges

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

enter image description here


你实现过这样的功能吗? - jigs
哦,太好了..你用过Finder Sync吗? - jigs
你是怎么做到的?你能提供任何参考链接或示例演示链接吗? 我已经尝试了很多天,使用苹果官方文档中的Finder Sync来实现,但到目前为止都没有成功。 非常感谢任何帮助! - jigs
所有的内容都在苹果开发者文档中。你可以在开发者论坛上搜索示例代码。 - Parag Bafna
@jigs 看一下FinderSync(https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/Finder.html#//apple_ref/doc/uid/TP40014214-CH15-SW1) - Parag Bafna
你可以在这里找到一些提示:https://dev59.com/6F7Va4cB1Zd3GeqPGRNR#43183393 - Prasanna
4个回答

8

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


5

Dropbox开发了一个NSPlugin插件,用于在每个文件夹/文件上显示图标徽章。正如你所知,自Snow Leopard开始,Finder的NSPlugin已被苹果弃用。我认为Dropbox通过一种黑客方式解决了这个问题-重新启用了插件支持。我不认为苹果会喜欢这样做。苹果希望第三方应用程序只提供服务支持,因为他们不希望在Finder进程中有任何第三方代码,但是服务功能并不足够。


我应该编写自己的插件吗? - Parag Bafna
如果你想去Mac AppStore销售你的应用程序,那么你可能不想这样做。这是因为苹果员工将会审查你的应用程序,并可能检查私有API使用或“不良”实践。最终,这是一种冒险策略,因为它涉及到做一些苹果公司发现后会不满意的事情。如果他们没有发现,你将会拥有快乐的客户。 - Aditya Kumar Pandey
有没有一个开源项目可以进行图标叠加? - Parag Bafna
是的,你可以看看Subversion客户端。 - Aditya Kumar Pandey
让我们在聊天中继续这个讨论:http://chat.stackoverflow.com/rooms/4694/discussion-between-parag-and-aditya-kumar-pandey - Parag Bafna

2
除了其他回答中提到的Finder Sync Extension外,文件上的徽章(和其他元数据)还可以通过File Provider API实现:
文件提供程序
其他应用程序用于访问由您的应用程序管理并与远程存储同步的文件和文件夹的扩展。
具体来说,NSFileProviderItemDecorating类:
徽章 系统在项目图标顶部显示徽章图像。它只显示第一个徽章图像。
FolderBadge 仅在文件夹项目上可用。系统将图像浮雕在文件夹图标上方。它只显示第一个FolderBadge图像。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接