и, в частности, для 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.2apre1, и предпочитает «настоящую» версию Firefox.
Возможно более общее решение. OS X предпочитает приложения на локальном томе приложениям на удаленном томе, а среди локальных приложений - приложениям на загрузочном томе. Так что может быть возможно выполнить какой-либо тип циклического монтирования и сохранить исходный код на зацикленном «томе», что опять-таки понизит его приоритет.
Как OS X решает, какое приложение запустить для данного документа или URL:
Руководство по программированию служб запуска: Предпочтительные приложения