【问题标题】:FinderSync issues with sidebar icon, toolbar icon and context menuFinderSync 与侧边栏图标、工具栏图标和上下文菜单有关的问题
【发布时间】:2015-09-21 10:27:33
【问题描述】:

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

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

  2. 除了 iconset 之外,还有其他方法可以为我的文件夹显示图标吗?我注意到还有其他应用程序在侧边栏中确实有一个图标,但它们似乎没有在捆绑资源中设置图标,并且 CFBundleIconFile 设置为 icns 资源。

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

非常感谢您的帮助!

【问题讨论】:

    标签: objective-c macos toolbar sidebar findersync


    【解决方案1】:

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

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

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

    3. 只需使用 [menuItem setEnabled:NO]。另请注意,并非所有菜单内容在 10.10 中都可用 - 例如,未显示复选框,分隔项显示为空格。此外,您的处理程序中的 sender 参数始终为空 NSMenuItem 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 2021-10-13
      • 2016-04-13
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      相关资源
      最近更新 更多