Macのメニューバーがダークモードになっているか判別する

  • 9
    いいね
  • 2
    コメント

メニューバーに表示するアプリをダークモードに対応しないでバージョンアップしたらリジェクトになった。
そのため、下記のような方法により、メニューバーがダークモードになっているか判別した。

-(void)awakeFromNib {
    NSStatusItem* myStatusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
    myStatusItem.title = @"Hello World";

    if ([[[NSAppearance currentAppearance] name] containsString:NSAppearanceNameVibrantDark]) {
        NSLog(@"Dark Interface");
    } else {
        NSLog(@"Light Interface");
    }
}

参考
http://stackoverflow.com/questions/24623559/nslogstatusitem-change-image-for-dark-tint