Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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
Macos 是否将按钮添加到Finder工具栏?_Macos_Cocoa_Dropbox_Finder_Nstoolbar - Fatal编程技术网

Macos 是否将按钮添加到Finder工具栏?

Macos 是否将按钮添加到Finder工具栏?,macos,cocoa,dropbox,finder,nstoolbar,Macos,Cocoa,Dropbox,Finder,Nstoolbar,Dropbox具有向Finder工具栏添加按钮的选项。它甚至出现在“自定义工具栏…”窗口中。   我找不到任何关于如何做这类事情的文档。。。。有人知道怎么做吗,或者有人能告诉我一些文档或示例代码吗 编辑一个: 我想首先应该找到现有图标的位置,以及任何相关的代码 我注意到Dropbox在Library/DropboxHelperTools/Dropbox_u501中有一些文件,叫做mach_inject_bundle_stuble.bundle和FinderLoadBundle,它们可能发挥了神奇

Dropbox具有向Finder工具栏添加按钮的选项。它甚至出现在“自定义工具栏…”窗口中。   我找不到任何关于如何做这类事情的文档。。。。有人知道怎么做吗,或者有人能告诉我一些文档或示例代码吗

编辑一个:

我想首先应该找到现有图标的位置,以及任何相关的代码

我注意到Dropbox在Library/DropboxHelperTools/Dropbox_u501中有一些文件,叫做mach_inject_bundle_stuble.bundle和FinderLoadBundle,它们可能发挥了神奇的作用。Dropbox还在Finder图标上添加了“勾号”标记。可能涉及以下代码:github.com/rentzsch/mach_star

编辑两个: 15:30左右,Rian Hunter在这里发表了一篇关于这个过程的Dropbox演讲

查看Dropbox_u501中的DropboxBundle文件,会显示图标和一些编译代码。代码表明Rian Hunter是作者:

Rian在他的github上有他自己版本的Mach Star代码——尽管它看起来要老得多

编辑三


几周前,斯坦福大学举办了一场“代码注入研讨会”——由Rian主持。如果有人有这方面的笔记,请让我知道

Dropbox使用了未记录的魔法。没有官方支持的方法可以做到这一点;没有逆向工程,你能得到的最接近的结果是

(更新:从macOS 10.11开始,Dropbox所做的事情已经完全不可能了。系统完整性保护现在可以防止代码被注入到系统进程中,比如Finder。)

Rian在PyCon 2011上的演讲(在blip.tv上)除了解释“我们反向工程Finder”之外没有其他解释。尽管mach_star的东西很有价值,它仍然没有解释如何让边栏图标工作。斯坦福大学的“代码注入研讨会”也没有发布任何关于这种方法的内容


我已经在/Library/DropboxHelperTools下为每个用户安装了nm'd和类dump'd两个包,并且输出提供了良好的洞察力。如果我回去的话,我会完成我的研究并发布它。很有可能,这不会持续一段时间,所以希望这一轻推能帮助其他人。

对于某些人来说,一个简单的中间答案可能就是简单地创建类似按钮的图标

e、 g.我为我的查找器创建了“此处新建文本文件”和“此处新建终端图标”:

方法是可以找到的

缺点是它们必须是方形的,没有动画/菜单或显示在“自定义工具栏”等中。

您可以使用Finder Sync(从OS X v10.10开始)

查找同步扩展可以:

  • 添加、删除和更新受监视文件夹中项目的徽章和标签
  • 当用户控件单击受监视文件夹中的项目时,显示上下文菜单
  • 将自定义按钮添加到Finder的工具栏

你能做的最接近查找工具条的东西是一个可以打开文件和/或文件夹的应用程序。任何这样的应用程序都可以由用户手动添加到工具栏中(尽管它不会显示在自定义工具栏中)。时间机器是一个很好的应用程序来演示这一点。看看库中的Dropbox文件,我认为它可能是某种mach_注入的东西,这超出了我的理解。但谷歌把我指向@PeterHosey,虽然拖放是可能的,但如果没有某种逆向工程,你无法实现与本机按钮匹配的纯样式。图标是由一系列透明的PNG生成的,因此即使有经过良好Photoshop处理的图标,也会让人感觉有些不对劲。Dropbox的可能副本并不是唯一一个可以做到这一点的应用程序,还可以查看我喜欢的应用程序。不过,我仍在试图找出如何使用我自己的一个应用程序来实现这一点:)相关:在广告上