我试图找到一种方法在OS Sierra中将模式从亮到暗改变。我有这个来改变设置:
CFPreferencesSetValue((CFStringRef)@"AppleInterfaceStyle", @"Dark", kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost);
这是告诉操作系统了解变化:
dispatch_async(dispatch_get_main_queue(),
^{CFNotificationCenterPostNotification(CFNotificationCenterGetDistributedCenter(), (CFStringRef)@"AppleInterfaceThemeChangedNotification", NULL, NULL, true);}
);
但是,只有底座更改,而不是通知和菜单栏。感谢您提供的任何帮助。
编辑:如果有人有一个插入this function的密钥列表,那将会有所帮助。似乎无法在苹果文档中找到它。
答案 0 :(得分:2)
我找到了一种实现这一目标的黑客方式。使用applescript,改变主题非常容易(也很安全)。
下面的脚本:
tell application "System Events"
tell appearance preferences to set dark mode to not dark mode
end tell
编译脚本,将其添加到xcodeproject并对如何在目标c中运行applescripts进行更多研究。