Blue Flower

disable-mac-app-store-update

1. 取消 “自动更新”

App Store > 偏好设置…,取消勾选 “自动更新”(默认)。

2. 清除更新标记(数字角标)

如果已经检测到更新,App Store 图标上出现红点数字,打开终端执行如下命令可以清除:

1
2
defaults write com.apple.appstored.plist BadgeCount 0
Killall Dock

App Store 左侧的更新条目通知也会清空 (sysin)。

3. 禁用标记 App 图标(禁用数字角标)

系统偏好设置… > 通知与专注模式,通知,选择 “App Store” 取消勾选 “标记 App 图标”(也可以完全关闭该项通知)。

参考:https://developer.apple.com/documentation/devicemanagement/appstore

4. 可选步骤(仅供参考)

上述步骤已经可以禁用更新了,以下内容是非必要的,一般忽略即可。

但是如果检测到了更新以下两处仍然会有提示(非 MAS App 不受影响):

  • Apple logo 菜单下的 App Store… 会提示有 “x项更新” (可以重复 “6.2 清除更新标记(数字角标)”)
  • 打开 App Store 右侧会提示可更新的 App 列表

禁用全局 App 更新通知

知识兔

编辑 hosts 文件,添加如下内容

手动编辑:打开终端,执行命令sudo vi /etc/hosts,添加以下条目:

1
127.0.0.1 gsp64-ssl.ls.apple.com

备注:以上地址为笔者实际检测地址,因网络环境差异,地址可能有所差异,如果无效请反馈。使用防火墙屏蔽进程可以彻底解决该问题。

或者使用 SwitchHosts(免费软件)。

或者(或同时)使用防火墙软件屏蔽

例如 Little Snitch,这是一个商业软件。

  • 新建规则 1:禁止下载更新相关的数据

    Process Name:/usr/libexec/nsurlsessiond

    Deny Outgoing Connections

App Store 更新 App 时可能需要访问以下主机

以下是 Apple 官方分享的列表,请根据需要屏蔽。

主机 端口 协议 OS 描述 支持代理
*.itunes.apple.com 443、80 TCP iOS、Apple tvOS 和 macOS 商店内容,如 App、图书和音乐
*.apps.apple.com 443 TCP iOS、Apple tvOS 和 macOS 商店内容,如 App、图书和音乐
*.mzstatic.com 443 TCP iOS、Apple tvOS 和 macOS 商店内容,如 App、图书和音乐
itunes.apple.com 443、80 TCP iOS、Apple tvOS 和 macOS
ppq.apple.com 443 TCP iOS、Apple tvOS 和 macOS 企业 App 验证

禁用单个 App 更新通知

知识兔

打开 Finder (访达),浏览到侧边栏 Applications(应用程序),找到不需要更新的 App,点击右键 “显示包内容”,此时出现 Content 文件夹,展开该文件夹,可以看到下面有个 _MASReceipt 文件夹,下面有个 receipt 文件。将 receipt 文件内容清空或者直接将 _MASReceipt 文件夹删除,即可禁用该 App 自动检测 App Store 软件更新(有限支持)。

在终端中执行的示例,这里以微信(Wechat)为例:

  • 清空 receipt 文件内容:echo '' > /Applications/WeChat.app/Contents/_MASReceipt/receipt
  • 删除 _MASReceipt 文件夹:rm -rf /Applications/WeChat.app/Contents/_MASReceipt/

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载