5

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

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

但我想知道将 Finder Sync Extension 集成为示例或代码的示例过程,以便进一步理解。

感谢您的建议.. !!

4

2 回答 2

6

我是Seafile 的 Finder Sync Extension代码的作者。感谢您发布指向我的代码的链接。自第一次发布以来,我已经改进了代码加班。

该架构比 Windows 的资源管理器扩展编程要简单得多。首先,您需要告诉 Finder(或FIFinderSyncController)您想要观看的目录(通过设置directoryURLs),并且当用户访问 Finder 中的某个目录时FIFinderSyncController将通过回调。beginObservingDirectoryAtURL那么如果在调用后第一次访问目录中的特定文件requestBadgeIdentifierForURL,您将被回调requestBadgeIdentifierForURL。如果您想稍后更新徽章,您应该记录此信息。最后,您可以在主队列中通过setBadgeIdentifier.

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

我希望这些信息对您的代码有所帮助。

于 2015-07-17T08:29:49.127 回答
0

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

于 2015-04-09T05:25:15.990 回答