如何从本地应用程序枚举OS X系统上安装的浏览器.我想建立像choosy,但不同(长篇故事)的东西.但是,我想枚举系统上所有已安装的浏览器.
在Windows上,我可以在默认程序注册表中浏览已安装的浏览器,但是,我不相信OS X上有类似的概念.我是否必须手动搜索所有捆绑包及其info.plist文件?
使用LSCopyAllHandlersForURLScheme(CFSTR("http"))或LSCopyAllRoleHandlersForContentType(CFSTR("public.html"), kLSRolesViewer),或两者的集合 交集.
这两个函数返回包标识符; 您可以使用LSFindApplicationForInfo它的包标识符在应用程序的磁盘上查找首选实例.
(不要忘记遵循Core Foundation内存管理规则.)
编辑:在对这个答案的评论中,smorgan建议LSCopyAllHandlersForURLScheme(CFSTR("https"))(这是http s)作为第一个电话的替代.这是一个很好的建议.
| 归档时间: |
|
| 查看次数: |
1184 次 |
| 最近记录: |