如何在macOS上通过编程方式准确检测已安装的网页浏览器
如何在macOS上通过编程方式准确检测已安装的网页浏览器
我之前也折腾过在macOS上准确检测已安装网页浏览器的需求,说真的这事儿以前挺容易踩坑的,给你唠唠我试过的路子和遇到的问题:
- 最开始我试过请求macOS返回注册为HTTPS协议处理程序的应用,但这方法太宽泛了——像iTerm2、BetterTouchTool这类压根不是浏览器的应用,居然也会因为能处理HTTPS被列出来,完全不符合需求。
- 后来我又换了个思路:同时获取能打开HTML文件的应用,再把这个列表和HTTPS处理程序的列表取交集。这时候结果确实靠谱多了,但还是不够完美——iTerm2居然还在列表里混着。
不过有意思的是,你去系统设置里的「桌面与程序坞 > 默认网页浏览器」里看,那里只会显示正经的网页浏览器,哪怕是Waterfox这种比较小众的也能被正确识别出来。这说明系统肯定有对应的判断逻辑,说不定是个私有API?但我翻了好久资料,一直没找到这个具体的实现方式,目前还在卡壳中。




