当前位置:  开发笔记 > 前端 > 正文

在OS X上枚举已安装的浏览器

如何解决《在OSX上枚举已安装的浏览器》经验,为你挑选了1个好方法。

如何从本地应用程序枚举OS X系统上安装的浏览器.我想建立像choosy,但不同(长篇故事)的东西.但是,我想枚举系统上所有已安装的浏览器.

在Windows上,我可以在默认程序注册表中浏览已安装的浏览器,但是,我不相信OS X上有类似的概念.我是否必须手动搜索所有捆绑包及其info.plist文件?



1> Peter Hosey..:

使用LSCopyAllHandlersForURLScheme(CFSTR("http"))LSCopyAllRoleHandlersForContentType(CFSTR("public.html"), kLSRolesViewer),或两者的集合 交集.

这两个函数返回包标识符; 您可以使用LSFindApplicationForInfo它的包标识符在应用程序的磁盘上查找首选实例.

(不要忘记遵循Core Foundation内存管理规则.)

编辑:在对这个答案的评论中,smorgan建议LSCopyAllHandlersForURLScheme(CFSTR("https"))(这是http s)作为第一个电话的替代.这是一个很好的建议.


Launch Services是Core Services的一部分,而不是Carbon.因此,它不会被弃用,并且可以在64位上使用.(参见文档:http://developer.apple.com/documentation/Carbon/Reference/LaunchServicesReference/)
您可能希望使用"https"而不是"http",因为根据我的经验,后者对于真正的浏览器有更多的误报.
推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有