macOS Mojave:有什么方法可以在黑暗模式下调试应用程序?

时间:2018-12-29 18:22:03

标签: xcode macos macos-mojave macos-darkmode

我在轻模式下使用macOS。我不喜欢黑暗模式。

我正在使用Xcode。一切都在灯光模式下,每个人都很高兴。

我正在创建一个macOS应用,我想在黑暗模式下测试该应用。

是否可以将参数或其他内容传递给应用程序以强制其在黑暗模式下运行?

2 个答案:

答案 0 :(得分:2)

古老的问题,但今天我遇到了同样的情况。

理想情况下,能够在您的方案中设置一个环境变量以打开黑暗模式会很好。

所以我做了一些探索。

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中的运行时外观设置来切换到灯光模式。

答案 1 :(得分: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中传递参数以强制在黑暗模式下运行,但这是一个临时解决方案。