Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.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
如何将Finder/Services菜单项添加到自己的macOS上下文菜单_Macos_Cocoa_Menu_Appkit_Finder - Fatal编程技术网

如何将Finder/Services菜单项添加到自己的macOS上下文菜单

如何将Finder/Services菜单项添加到自己的macOS上下文菜单,macos,cocoa,menu,appkit,finder,Macos,Cocoa,Menu,Appkit,Finder,在macOS Finder中右键单击文件时,会显示如下上下文菜单。它在底部包含来自macOS服务的项目。我说的是来自第三方的服务,比如(在本例中)iTerm和Find Any File。我将如何将这些项目添加到我自己的macOS应用程序的上下文菜单中?是否有文档化的API来实现这一点 我知道这是可以做到的,因为它至少在另一个应用程序中实现,例如,请参见“查找任何文件”中的以下上下文菜单: macOS提供了与操作系统集成的产品。列出了可以使用的不同扩展点,以及它们的用途说明 根据您提供的示例,它

在macOS Finder中右键单击文件时,会显示如下上下文菜单。它在底部包含来自macOS服务的项目。我说的是来自第三方的服务,比如(在本例中)iTerm和Find Any File。我将如何将这些项目添加到我自己的macOS应用程序的上下文菜单中?是否有文档化的API来实现这一点

我知道这是可以做到的,因为它至少在另一个应用程序中实现,例如,请参见“查找任何文件”中的以下上下文菜单:

macOS提供了与操作系统集成的产品。列出了可以使用的不同扩展点,以及它们的用途说明

根据您提供的示例,它可能是您正在寻找的Finder Sync扩展,因为文档中说明了Finder Sync:

标记本地OS X文件夹,让用户知道远程同步项目的状态您还可以实现上下文菜单,让用户直接管理其同步内容


重复。这不是那个问题的重复。为什么它不是重复的?那个问题是关于如何添加到服务菜单,这是一项不同的任务(这不是很难做到,因为它有很好的文档记录)。至少,我是这样理解这个问题的。我想问的是如何将其他应用程序提供的扩展添加到我的应用程序的上下文菜单中。我知道这是可以做到的,因为它是由其他一些应用程序完成的,包括查找任何文件。你应该能够从
NSApplication.servicesMenu
复制菜单项,然后将它们添加到你自己的
NSMenu
。似乎Finder Sync API只允许你在Finder中添加上下文菜单。我感兴趣的是在我自己的应用程序中将这些菜单添加到上下文菜单中,而我在文档中找不到任何方法来实现这一点。