如何在Cocoa中将Finder Sync Extensions与Xcode集成



我想像Dropbox一样使用Finder Sync Extensions添加工具栏图标,并在Xcode中使用Objective C同步时更新徽章图标
我在谷歌上搜索了很多,但找不到任何与此相关的示例代码。

我只找到了Finder Sync的一个链接。

但我想知道集成Finder同步扩展的示例过程作为示例或代码,以获得更多的理解。

谢谢。。!!

我是Seafile的Finder同步扩展代码的作者。感谢您发布我的代码链接。自第一次发布以来,我一直在加班加点地改进代码。

该体系结构比windows的资源管理器扩展编程简单得多。首先,您需要告诉Finder(或FIFinderSyncController)您要查看哪些目录(通过设置directoryURLs),当用户访问Finder中的某个目录时,FIFinderSyncController将通过beginObservingDirectoryAtURL回调。然后,如果在requestBadgeIdentifierForURL调用后第一次访问目录中的特定文件,则会使用requestBadgeIdentifierForURL回叫您。如果以后要更新徽章,则应记录此信息。最后,只要有可能,您可以通过setBadgeIdentifier在主队列中的文件上设置徽章。

另一件需要提及的重要事情是,正如官方文件所说,Extension正在另一个进程中运行(既不是Finder中的线程,也不是应用程序中的线程),并通过XPC与Finder进行对话。您可能需要通过某种IPC(如XPC或mach端口)与扩展进行交互,因为扩展需要沙盒。

我希望这些信息将帮助你的代码。

Finder同步扩展提供了对图标覆盖的支持。您必须编写自己的代码来与服务器和计算机同步文件,并且您可以在支持Finder同步扩展的Finder上显示同步状态。请查看此链接,例如-https://github.com/haiwen/seafile-client/blob/7d73ba314aedbd7a05428de649ce2a1cce37f676/fsplugin/FinderSync.mm

最新更新