Ответ 1
- Что касается значка "no dock icon" - добавьте boolean
LSUIElement
в файл Info.plist и установите значение true. Это также не будет отображаться в пользовательском интерфейсе переключателя приложений (cmd + tab). - Добавление значка в строке меню так же важно, как просмотр документации
NSStatusBar
иNSStatusItem
и использование кода примера там:
.
// this one is taken from apple documentation
- (void)activateStatusMenu {
NSStatusBar *bar = [NSStatusBar systemStatusBar];
theItem = [bar statusItemWithLength:NSVariableStatusItemLength];
[theItem retain];
[theItem setTitle: NSLocalizedString(@"Tablet",@"")];
[theItem setHighlightMode:YES];
[theItem setMenu:theMenu];
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[self activateStatusMenu];
}
Обновить. Поскольку ARC не разрешает вызовы retain
в коде, мне удалось решить проблему, создав переменную экземпляра theItem
как __strong
класса, в котором создается элемент.