我可以从启动服务隐藏目录/路径吗?

时间:2008-12-11 23:31:25

标签: macos

我希望能够在没有Launch Services的情况下构建测试应用程序(例如每晚的Minefield / Firefox),确定它们是打开指定文件类型的最佳方式。

有没有办法从Launch Services中隐藏我的〜/ src目录,以便Finder不会在该文件夹中注册应用程序?

2 个答案:

答案 0 :(得分:1)

我不知道隐藏的方法,但是可以更改开发应用的包ID,这样它们就不会被视为该内容类型的首选应用/ Launch方案由LaunchServices。

答案 1 :(得分:1)

对于Firefox而言,答案是:如果OS X找到多个可以处理URL方案的应用程序,它将使用带有最高版本号的应用程序。因此,要伪造OS X,您可以修改mozilla-central/browser/app/macbuild/Contents/Info.plist.in,然后更改CFBundleShortVersionString

    <string>%APP_VERSION%</string>

    <string>0.%APP_VERSION%</string>

通过这种方式,OS X会认为应用程序是0.3.2版本的版本,并且它更喜欢Firefox的“真实”版本。

可能有更通用的解决方案。 OS X将本地卷上的应用程序更喜欢远程卷上的应用程序,而在本地应用程序中,它更喜欢启动卷上的应用程序。因此,有可能进行某种类型的环回安装,并将源代码保存在循环“卷”上,这将再次降低其优先级。

OS X如何决定为给定文档或URL启动哪个应用程序:

Launch Services Programming Guide: Preferred Applications