macOS Mojave: есть ли способ отладки приложения в темном режиме?

Я использую macOS в легком режиме. Я не люблю темный режим.

Я использую Xcode. Все в легком режиме, и все счастливы.

Я создаю приложение macOS и хочу протестировать его в темном режиме.

Есть ли способ передать аргумент или что-то в приложение, чтобы заставить его работать в темном режиме?

1 ответ

Решение

Вы можете сделать Быстрое действие в Automator и запустить AppleScript, который переключает темный режим. AppleScript просто:

tell application "System Events"
    tell appearance preferences
        set dark mode to not dark mode
    end tell
end tell

Затем перейдите к System Preferences - Keyboard - Shortcuts - Services и установите сочетание клавиш для запуска вашего AppleScript.

Может быть более простой способ передать аргумент в XCode для принудительного запуска в темном режиме, но это временное решение.

Старый вопрос, но сегодня я столкнулся с той же ситуацией.

В идеале было бы неплохо иметь возможность установить в вашей схеме переменную окружения для включения темного режима.

Так что я немного поинтересовался.

Настройка в Xcode для изменения внешнего вида во время отладки, похоже, использует частный NSSystemAppearanceProxyобъект. Установив внешний вид этого объекта из вашего AppDelegate, вы можете добиться определенного внешнего вида при запуске.

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
#if DEBUG // do not include in production code! 
    if ([NSProcessInfo.processInfo.environment[@"UserInterfaceStyle"] isEqualToString:@"Dark"]){
        id proxy = [NSClassFromString(@"NSSystemAppearanceProxy") valueForKey:@"systemProxy"];
        [proxy setValue: [NSAppearance appearanceNamed:NSAppearanceNameDarkAqua] forKey:@"appearance"] ;
    }
#endif
}

Затем добавьте переменную среды UserInterfaceStyle со значением Darkк твоему стыду. (выключить или включить по желанию)

Обратите внимание: установив внешний вид на прокси-сервере, а не на объекте NSApp, вы все равно можете использовать параметр внешнего вида среды выполнения в Xcode для переключения в облегченный режим.

Другие вопросы по тегам