AppDelegate.c
# import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate>
@property (assign) IBOutlet NSWindow *window;
@end
AppDelegate.m
# import "AppDelegate.h"
@interface AppDelegate () // クラスエクステンション?
@property (weak) IBOutlet NSMenu *statusMenu;
@end
@implementation AppDelegate{
NSStatusItem* _statusItem; // ステータスバーに表示されるアイテム
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
[self setupStatusItem]; // setupStatusItemメソッドの実行
}
- (void)setupStatusItem
{
NSStatusBar *systemStatusBar = [NSStatusBar systemStatusBar]; // ステータスバー
_statusItem = [systemStatusBar statusItemWithLength:NSVariableStatusItemLength];
[_statusItem setHighlightMode:YES]; // ステータスバーに表示されるメニュー
[_statusItem setTitle:@"StatusBarApp"]; // ステータスバーに表示されるメニューのタイトル
[_statusItem setImage:[NSImage imageNamed:@"StatusBarIconTemplate"]]; // ステータスバーに表示されるメニューのアイコン画像
[_statusItem setMenu:[self statusMenu]]; // メニューをセットする
}
@end