Xcode macOS Mojave:有没有办法在黑暗模式下调试应用程序?

Xcode macOS Mojave:有没有办法在黑暗模式下调试应用程序?,xcode,macos,macos-mojave,macos-darkmode,Xcode,Macos,Macos Mojave,Macos Darkmode,我在灯光模式下使用macOS。我不喜欢黑暗模式 我正在使用Xcode。一切都处于轻松模式,每个人都很开心 我正在创建一个macOS应用程序,我想在黑暗模式下测试该应用程序 是否有方法将参数或其他内容传递给应用程序,以强制其在黑暗模式下运行?您可以在Automator中执行快速操作,并使其运行切换黑暗模式的AppleScript。AppleScript只是: tell application "System Events" tell appearance preferences

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

我正在使用Xcode。一切都处于轻松模式,每个人都很开心

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


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

您可以在Automator中执行快速操作,并使其运行切换黑暗模式的AppleScript。AppleScript只是:

tell application "System Events"
    tell appearance preferences
        set dark mode to not dark mode
    end tell
end tell
然后转到
系统首选项-键盘-快捷键-服务
,设置键盘快捷键以运行AppleScript


在Xcode中传递参数以强制在暗模式下运行可能有一种更简单的方法,但这是一种临时解决方案。

您可以在Automator中执行快速操作,并使其运行切换暗模式的AppleScript。AppleScript只是:

tell application "System Events"
    tell appearance preferences
        set dark mode to not dark mode
    end tell
end tell
然后转到
系统首选项-键盘-快捷键-服务
,设置键盘快捷键以运行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中的运行时外观设置切换到灯光模式。

旧问题,但我今天遇到了相同的情况

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

所以我做了一些探险

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

谢谢。这可能不是理想的解决方案,但我认为这可能是目前唯一的解决方案。谢谢,谢谢。这可能不是理想的解决方案,但我认为这可能是目前唯一的解决方案。THANKSCorrection…然后将值为Dark的环境变量UserInterfaceStyle添加到方案中。(随意关闭或打开)太棒了。谢谢。更正…然后在方案中添加一个值为Dark的环境变量UserInterfaceStyle。(随意关闭或打开)太棒了。谢谢