Отказ от ответственности: я действительно новичок в ObjectiveC, поэтому, возможно, я допустил фундаментальные ошибки в структуре моего приложения, поэтому, пожалуйста, дайте мне знать, если есть лучший способ достичь моей цели.
Я пытаюсь создать приложение, которое находится в строке состояния, например Dropbox. Он должен получать уведомления. У меня сейчас работают уведомления, но я реализовал их в NSView
, который находится в окне приложения. Я хочу удалить окно, чтобы иметь возможность получить приложение без окон (а-ля Dropbox). Если я удаляю окно, оно удаляет созданное мной представление, а затем удаляет способность моего приложения получать уведомления.
На всякий случай, если я плохо объясняю это, уведомления, которые я получаю, принимаются так:
#import "test.h"
@implementation test
- (id) initWithFrame:(NSRect)frameRect
{
self = [super initWithFrame:frameRect];
...
[[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(windowChangeNotification:) name:NSWorkspaceDidActivateApplicationNotification object:nil];
return self;
}
- (void)windowChangeNotification:(NSNotification *)note
{
...
}
И тест NSView:
@interface appTracker : NSView {
appTrackerDB * eventDB;
}
Как я могу получать уведомления без окна? Или есть способ получать уведомления без просмотра?
Дополнительная информация: Я реализую компонент пользовательского интерфейса строки состояния как NSMenu, аналогично этому учебнику.
Я почти уверен, что есть, но я заблудился в литературе.
Спасибо за помощь!