在OS X 10.10和10.11上,可以使用softwareupdate
实用程序以编程方式获取可用软件更新列表,并采用XML / PLIST格式。你可以写例如。
softwareupdate -l -f my-updates.plist
然后解析生成的PLIST文件。在macOS 10.12上,这不再可能。该实用程序会给出错误消息,指出“-f”选项不再可用:
$ softwareupdate -l -f my-updates.plist
softwareupdate: invalid option -- f
usage: softwareupdate <cmd> [<args> ...]
有没有办法在macOS 10.12上以编程方式执行等同于softwareupdate -l -f xml-file.plist
的操作?它不一定是命令行工具,也欢迎Objective-C或C或Swift解决方案!
(我已经尝试了--file
,--xml
和类似的选项,但似乎没有任何效果。似乎Apple刚刚放弃了此功能。我当然可以解析{{1}的输出使用一些正则表达式,但我更喜欢一种不太常见的解决方案。)