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 для переключения в облегченный режим.