摘要
正在生成中……
目前在命令行执行下面指令的方法已经失效了
sudo softwareupdate --ignore "macOS Catalina"
不过貌似还能通过移除 SoftwareUpdateNotificationManager
启动器的方式来解决这个问题。
也就是进入目录 /System/Library/LaunchAgents
, 将 com.apple.SoftwareUpdateNotificationManager.plist
移动到 /System/Library/LaunchAgentsIgnored
。
另外,我还修改了这个配置文件里关于通知的相关项目,不过我不太确定这样做是否有必要。 /System/Library/UserNotifications/Bundles/com.apple.SoftwareUpdateNotification.bundle/Contents/Info.plist
。
也就是以下的配置:
<dict>
<key>UNDaemonShouldReceiveBackgroundResponses</key>
<true/>
<key>UNDefaultSettings</key>
<dict>
<key>UNSettingAlerts</key>
<true/>
<key>UNSettingAlwaysShowPreviews</key>
<true/>
<key>UNSettingBadges</key>
<true/>
<key>UNSettingModalAlertStyle</key>
<true/>
<key>UNSettingSounds</key>
<true/>
</dict>
<key>UNHideSettings</key>
<true/>
<key>UNNotificationIcons</key>
<dict/>
<key>UNSuppressUserAuthorization</key>
<true/>
即UNSuppressUserAuthorization
这个选项,然而这些选项的作用有待考证。( However the effect of these flags should be investigated.)
一个更极端的解决方案可能是把SoftwareUpdateNotification
管理器从核心服务中移除。
注意:为了做到上述修改,你需要从另一个磁盘启动,否则系统会是只读状态。
PS:如果不想从另外的磁盘启动,可以参考我的更新,亲测有用。但这个修改是否能真正屏蔽更新通知,还需要继续观察,目前是修改后的第一天。(不过好像也没有找到更好的方式☹️)
更新:
如果移动文件时出现read-only
文件系统提示:
$ sudo mv com.apple.SoftwareUpdateNotificationManager.plist /System/Library/LaunchAgentsIgnored
mv: rename com.apple.SoftwareUpdateNotificationManager.plist to /System/Library/LaunchAgentsIgnored/com.apple.SoftwareUpdateNotificationManager.plist: Read-only file system
执行以下命令解除
sudo mount -uw /
更新2
经过半个月观察,升级系统的更新窗口不再弹出,问题解决。
更新3:
但是这样只能屏蔽操作系统的升级提醒,并不能去除app store里已经安装的app的更新提醒,如果有app更新了,还是会有小红点和要弹窗通知,如果也想要屏蔽这些提醒可以参考这篇文章。我执行了最后一个方法:强制吊销系统更新通知权限
參考資料:
https://apple.stackexchange.com/questions/367995/how-to-block-updates-to-mac-os-x-catalina