我将默认命令迁移到 PlistBuddy,它输出完全相同的 plist,但无法正常工作
Posted
技术标签:
【中文标题】我将默认命令迁移到 PlistBuddy,它输出完全相同的 plist,但无法正常工作【英文标题】:I migrate defaults command to PlistBuddy, and it outputs exact same plist, but not working right 【发布时间】:2020-03-24 06:27:56 【问题描述】:情况
我这里写了很多defaults命令,就是在dock上设置应用程序。
https://github.com/ryuta69/dotfiles/blob/master/macos/lib/dockitem.applescript
然后,我将它们迁移到下面的 PlistBuddy。
https://github.com/ryuta69/dotfiles/blob/master/macos/lib/dockitem.zsh
它们在 com.apple.dock 中生成持久应用。 defaults 命令可以正常工作,并且可以将应用程序设置为停靠栏。
但是,PlistBuddy 一个不起作用,它不会在 Dock 上设置任何应用程序,即使 com.apple.dock 中的持久应用程序是相同的。
osascript dockitem.applescript
defaults read com.apple.dock > a.txt
zsh dockitem.zsh
defaults read com.apple.dock > b.txt
diff a.txt b.txt
# there is no difference
我也做了Killall Dock
(在脚本中)。
我是否忘记了使用 PlistBuddy 执行的任何步骤?除了Killall Dock
,我找不到任何信息。
【问题讨论】:
【参考方案1】:啊,我明白了。
我需要在killall Dock
之前killall cfprefsd
。
首选项被缓存,默认值将删除缓存,但 PlistBuddy 不会。我要杀了它。
【讨论】:
以上是关于我将默认命令迁移到 PlistBuddy,它输出完全相同的 plist,但无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章