About
- 获取macOS系统软件的自动更新相关开关
plist文件
- 需要注意的是,有些字段一开始是没有的,只有当对应功能启用后,才会生成相关字段
- 在取不到字段的时候,可以标记对应功能为未生效状态
- 另外,用Xcode打开这个plit文件时,能看到root,实际上预览这个plist文件时,时没有root字段的,所以,在获取数据的时候,需要注意这一点
- commerce这个文件里面存了应用商店(App Store)应用程序自动更新的字段,如果从没用过App Store的话,没有这个文件,可能需要登录一下试试
1 2 3 |
const std::string kPreferencesSoftUpdate = "/Library/Preferences/com.apple.SoftwareUpdate.plist"; const std::string kCommerce = "/Library/Preferences/com.apple.commerce.plist"; |
部分字段
- AutomaticallyInstallMacOSUpdates
- 自动安装macOS更新
- AutomaticCheckEnabled
- 自动检查更新
- AutomaticDownload
- 自动下载可用的更新
- CriticalUpdateInstall
- 自动安装安全响应和系统文件
- 当开启这个选项时,ConfigDataInstall也会同步开启
- 当关闭这个选项时,ConfigDataInstall也会同步关闭,并且生成LastSuccessfulDate字段
- AutoUpdate
- 自动安装来自App Store的应用程序更新
code
1 2 3 4 5 6 7 8 9 10 11 12 |
// 获取部分字段示例代码 boost::property_tree::ptree update_tree; do { if (parsePlist(kPreferencesSoftUpdate, update_tree) != Status::STATUS_SUCC) { break; } auto update = update_tree.get<bool>("AutomaticallyInstallMacOSUpdates", false); pInfo->bEnableAutoUpgrade = update; } while (false); |
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ VMaware:安装MacOS 10.14.610/16
- ♥ Cef:介绍06/29
- ♥ 51CTO:C++网络通信引擎架构与实现一09/09
- ♥ Macos网络信息相关06/06
- ♥ Cef:沙盒、CefApp、CefClient02/29
- ♥ Macos编译x86_64相关一04/25