Mac App Store登录无反应或提示“服务器发生错误”,需依次排查真实网络连通性、强制退出storeagent进程、校准系统时间(偏差超3分钟将拒绝TLS握手)、更换DNS为208.67.222.222/220.220、重置Storefront标识及com.apple.appstore.commerce.plist配置、修复CommerceKit框架权限与钥匙串访问策略。

Mac上App Store输入账号密码后无反应、验证弹窗不出现、或反复提示“服务器发生错误”,不是网络图标显示正常就能忽略的问题——它可能卡在证书校验、凭证刷新或底层框架权限异常环节。
先确认真实网络连通性
打开 Safari,访问 https://www.php.cn/link/395b58b4ce1a184748def71f03ea11b7。打不开说明底层网络中断,需排查路由器、网线或 Wi-Fi 密码;能打开但 App Store 仍失败,才进入后续诊断。
这一步跳过会浪费大量时间:系统界面没报错,但 storeagent 进程可能已在后台静默拒绝 TLS 握手。
强制退出 storeagent 进程
按下 Command + Space 打开聚焦搜索,输入「活动监视器」并回车。
在顶部搜索栏输入 store,找到名为 storeagent 的进程(偶尔显示为 CommerceKit)。
选中它 → 点击工具栏左上角的「X」→ 选择「强制退出」。【必须执行此步】 否则旧会话锁死新登录请求,重启 App Store 图标无效。
关闭活动监视器,再从 Dock 重新点击 App Store 启动。
校准系统时间(关键前提)
点击苹果菜单 → 「系统设置」→ 「通用」→ 「日期与时间」。
检查「自动设置日期与时间」和「自动设置时区」是否已启用。若为灰色不可点,先点右上角锁形图标,输入管理员密码解锁。
【必须确保两项都勾选且状态为“已同步”】,系统将立即通过 time.apple.com 校准到毫秒级精度。时间偏差超 3 分钟,Apple 服务器直接拒绝握手。
更换 DNS 服务器
方法一:图形化操作
点击屏幕右上角 Wi-Fi 图标 → 「打开网络偏好设置」→ 选中当前 Wi-Fi 连接 → 「高级」→ 切换到「DNS」标签页。
删除所有已有 DNS 条目 → 点左下角「+」号 → 依次添加:208.67.222.222 和 208.67.220.220(OpenDNS 主服务器,无污染、低延迟)。
点「好」→ 点窗口右下角「应用」保存。
方法二:命令行快速覆盖(适合熟悉终端者)
打开「终端」,粘贴执行:sudo networksetup -setdnsservers Wi-Fi 208.67.222.222 208.67.220.220
输入管理员密码(输时不显示字符),回车即生效。无需重启,立刻刷新 DNS 缓存。
重置 Storefront 标识并重建配置
第一步:打开「终端」,执行:defaults delete com.apple.appstore.commerce Storefront
第二步:前往 ~/Library/Preferences/,删除 com.apple.appstore.commerce.plist 文件(若存在)。
第三步:前往 /Library/Preferences/SystemConfiguration/,检查是否存在 NetworkInterfaces.plist;若缺失或为空,直接删除该文件,重启后系统自动重建。
第四步:重启 Mac,再打开 App Store 尝试登录。
修复 CommerceKit 框架与钥匙串权限
在终端中依次运行:
sudo chmod 644 /System/Library/PrivateFrameworks/CommerceKit.framework/Versions/A/CommerceKit
sudo xattr -rd com.apple.quarantine /System/Library/PrivateFrameworks/CommerceKit.framework
打开「钥匙串访问」,左侧选中「登录」钥匙串 → 右键「更改设置」→ 勾选「始终允许访问此项目」;再右键「iCloud」钥匙串 → 点击「重新同步」。
若提示「钥匙串未解锁」,终端执行:security unlock-keychain login.keychain-db。

















