◆

Mac 设置默认浏览器不生效的解决方法

2025-10-23 01:410

在系统设置里把默认浏览器改了,点链接却还是打开旧的那个——这是 macOS 的 Launch Services 数据库出了问题。这个数据库记录了「哪种文件类型、哪种 URL scheme 由哪个 App 处理」的映射关系,系统设置里的选择只是往里写一条记录,真正决定行为的是数据库当前的内容。当它因为 App 重装、多个同名 App 副本、或者从备份迁移而出现脏数据时,写进去的偏好就被旧记录压住了,界面上显示的和实际生效的不一致。

这种情况重启也未必好,得直接重建数据库。下面先确认系统当前真正认的是哪个 App,再重置。

解决方法

查看当前默认浏览器

defaults read 直接读 Launch Services 的偏好文件。在输出里找 LSHandlers 数组,其中 LSHandlerURLScheme 为 http / https 的那几项,对应的 LSHandlerRoleAll 就是当前处理网页链接的 App bundle id。如果这里的值和系统设置里显示的不一致,就能确认是数据库的问题。

defaults read com.apple.LaunchServices/com.apple.launchservices.secure

重置 Launch Services 数据库

lsregister 是 CoreServices 里的私有工具,-kill 清空现有数据库,-r 重新扫描注册所有 App,-domain local/system/user 指定要扫的三个 App 目录范围。执行后系统会重建整张映射表,之前的脏记录一并清掉,再去系统设置里重新选一次默认浏览器就能生效了。

命令没有输出,跑完可能要等十几秒到一分钟让扫描完成。期间 Dock 和 Finder 图标可能闪一下属于正常现象,建议执行完重启 Finder(killall Finder)或直接注销重登。

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
💬留言板0

还没有留言,来发表第一条吧~

PAGE LOAD / LIVEMac 设置默认浏览器不生效的解决方法加载中