gpt4 book ai didi

objective-c - 如何以编程方式更改 Dock 首选项?

转载 作者:行者123 更新时间:2023-12-03 16:29:40 24 4
gpt4 key购买 nike

我是 Cocoa/macOS 编程新手。我刚刚发现 NSUserDefaults 可用于更改应用程序/系统设置,就像 defaults 命令的方式一样。

但我不知道如何更新这些设置。

例如,我使用NSUserDefaults将dock大小设置为32,并同步设置。但码头保留了旧的设置。

即使我使用 defaults write com.apple.docktilesize 32 更改其大小,它也不会更新,直到我注销并登录。

还有其他技术可以通知扩展坞获取更新吗?我知道系统偏好设置可以做到这一点。

谢谢!

最佳答案

Mac OS X 扩展坞在被终止并重新启动之前不会重新加载其设置。就像您必须通过终端手动更改其设置一样(defaults write com.apple.docktilesize 32; Killall Dock),您也必须在代码中执行此操作。因此,当您编写了代码的 defaults 部分时,您必须编写 kill 部分:

NSRunningApplication *dock = [NSRunningApplication runningApplicationWithBundleIdentifier:@"com.apple.dock"];
[dock terminate];

如果您想在不破坏扩展坞的情况下执行此操作,抱歉,但您运气不好。虽然可能有一个隐藏的 API 可以强制扩展坞动态重新加载其设置,但在我的所有搜索中,我从未找到任何关于如何执行此操作的提示(大多数应用程序的隐藏分布式通知中心上没有发布任何通知)彼此互动)。

关于objective-c - 如何以编程方式更改 Dock 首选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5979893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com