FinderSync有侧边栏图标、工具栏图标和上下文菜单的问题



我正在开发一个mac应用程序,必须为FinderSync应用程序扩展提供支持。一切正常,除了一些边栏和工具栏图标的问题。

  1. 是否有一种方法可以在没有用户干预的情况下以编程方式添加工具栏和侧边栏图标?从文档中,我没有找到任何可以帮助我做到这一点的东西。他们指的是这些图标,通过提到用户必须手动将文件夹手动拖到侧边栏,或者手动自定义工具栏,但没有API在运行时实现这一点。然而,有些应用程序,如果有人从工具栏中删除它们,它们会自己重新添加。

  2. 是否有其他方法来显示我的文件夹图标,除了iconset?我注意到还有其他的应用程序在侧边栏中有一个图标,但他们似乎没有在bundle资源中设置图标,CFBundleIconFile被设置为一个icns资源。

  3. 是否有办法禁用菜单项在menuForMenuKind: ?在正常的NSMenu情况下,菜单项应该没有动作或目标,但事实并非如此。即使我这样做,菜单项仍然是启用的

谢谢你的帮助!

欢迎来到痛苦的世界。我一直在开发Finder同步扩展,所以这里是你的问题的答案:

  1. 现在我正在寻找以编程方式添加工具栏按钮的方法,我看到了一些可以做到这一点的短语。要将项目添加到侧边栏,你应该使用一些LSSharedFileList代码:将项目添加到Finder侧边栏通过同样的API,你可以检查你的项目是否出现在侧边栏中,并且不要添加重复的。

  2. 现在(自Mac OS X 10.11)侧边栏图标只能通过图标集更改。以前可以通过Finder代码注入来更改它,这在10.11中是不允许的。

  3. 直接使用[menuItem setEnabled:NO]。另外请注意,并不是所有的菜单都在10.10中可用-例如,复选框不显示,分隔项显示为空格。此外,你的处理程序中的sender参数总是空的NSMenuItem对象。

最新更新