安全修改 macos .plist 文件应优先使用 defaults 命令读写,其次仅在排查时用 plutil 转换格式人工检查,严禁直接编辑二进制文件;操作前须备份、确认 domain 名、退出对应应用。

安全修改 macOS 偏好设置目录下的 .plist 文件,核心原则是:**不直接编辑二进制 plist,优先用系统原生命令操作,所有修改前必须备份,且避免触碰系统关键域(如 com.apple.* 除非明确需要)**。手动改文件容易格式损坏、权限丢失或被系统拒绝写入,反而引发崩溃或配置失效。
用 defaults 命令读写(推荐首选)
这是最安全、最符合 macOS 设计逻辑的方式,它直接与偏好设置数据库交互,自动处理序列化、权限和缓存同步:
-
查看当前值:比如查 Dock 是否自动隐藏,运行
defaults read com.apple.dock autohide -
写入新值:设 Finder 显示隐藏文件,运行
defaults write com.apple.Finder AppleShowAllFiles -bool true -
删除某项:清除 Dock 方向设置,运行
defaults delete com.apple.dock orientation -
注意:domain 名(如
com.apple.Finder)不含.plist后缀;布尔值用-bool true/false,字符串用-string "xxx",整数用-int 123
用 plutil 转换格式再人工检查
仅当需排查内容或确认结构时才用此方式,且必须先备份原始文件:
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
- 先验证语法是否合法:
plutil -lint ~/Library/Preferences/com.example.app.plist - 转为可读 XML:
plutil -convert xml1 ~/Library/Preferences/com.example.app.plist - 用文本编辑器(如 VS Code)打开修改,确保缩进正确、标签闭合、编码为 UTF-8
- 改完后转回高效二进制格式:
plutil -convert binary1 ~/Library/Preferences/com.example.app.plist
避免直接编辑的常见风险
以下操作极易出错,应尽量规避:
- 用 Finder 双击打开 plist → 用 TextEdit 修改 → 直接保存:TextEdit 会破坏二进制格式或引入 BOM,导致应用拒绝加载
- 用 Xcode 编辑但未关闭「自动格式化」选项:可能重排键顺序,触发签名校验失败(尤其对系统级 plist)
- 修改后未刷新缓存:即使改成功,
cfprefsd进程仍缓存旧值,需执行killall cfprefsd或重启应用 - 误删或清空整个
~/Library/Preferences/:会导致系统设置、Safari、Dock 等大量功能异常
修改前必做的三件事
养成习惯能大幅降低风险:
-
备份原始文件:复制一份到桌面,命令为
cp ~/Library/Preferences/com.example.app.plist ~/Desktop/com.example.app.plist.bak -
确认 domain 名准确:不确定时用
mdfind "kMDItemCFBundleIdentifier == 'com.*appname*'"查找,或查看 App 包内Info.plist - 退出对应应用再操作:防止应用在后台锁定 plist 文件,导致写入失败或内容不一致










