Well, it should hide the main menu always and forever, but using LSUIElement
in the plist is an older way of doing things than using both setActivationPolicy
and setPresentationOptions
so you might want to give [NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory]
a shot instead.
The LSUIElement
way of doing things didn't support changes at runtime. You're mixing old and new. Deprecate LSUIElement
and use setActivationPolicy
on OSX 10.9+.
There is lots of discussion along these lines. This is a good answer. I wrote an answer about how to switch to accessory mode when the user "quits" the app here and that uses the runtime functionality which LSUIElement
would break. So don't use it.