I am developing a mac app that must provide support for FinderSync application extension. Everything works fine, except some sidebar and toolbar icon issues.
Is there a way to programatically add the toolbar and sidebar icons without user intervention? As from documentation, I didn't find anything to help me do that. They refer to these icons, by mentioning that the user must manually drag the folder manually to sidebar, or manually customize the toolbar, but not API to achieving this at runtime. However there are apps that add themselves back if someone removes them from the toolbar.
Is there other way to display an icon for my folder, except iconset? I noticed that there are other apps out there which do have an icon in the sidebar, but they do not seem to have an icon set in bundle resources and the CFBundleIconFile is set to an icns resource.
Is there a way to disable a menu item in menuForMenuKind: ? In a normal NSMenu situation, the menu item should have no action or target, but this is not the case. Even if I do so, menu item is still enabled.
Thanks a lot for your help!
Welcome to the world of pain. I've been developing Finder Sync extension as well, so here are answers to your questions:
Now I'm searching for the way to add programmatically Toolbar button, I saw some phrases that this can be done. To add item to sidebar, you should use some LSSharedFileList code: Add Item to Finder Sidebar Via the same API you can check if your item is present in the sidebar, and do not add the duplicate.
Now (since Mac OS X 10.11) sidebar icon can be changed only via iconset. Previously it was possible to change it via Finder code injection, which is not allowed in 10.11.
Just use [menuItem setEnabled:NO]. Also please note that not all menu stuff is available in 10.10 - for instance, checkboxes are not shown and separator item is shown as space. Also, sender parameter in your handlers is always empty NSMenuItem object.