O pacote .app do OS X Java não pode abrir outros aplicativos?

Eu escrevi um aplicativo Java SWT para OS X, o exportei como um .jar e o empacotei em .app. Tudo funciona da maneira esperada, exceto por uma parte crítica do meu aplicativo; requer abrir outros aplicativos.

eu tenteiRuntime.exec(); assim comoProcessBuilder para fazer isso, chamando oopen comando nos outros aplicativos que eu preciso para iniciar. Isso funciona perfeitamente bem no Eclipse ou se eu iniciar o meu .jar exportado pelo Terminal. No entanto, ele não funciona quando iniciado, clicando duas vezes no .app.

Gostaria de saber se isso é um erro da minha parte ou uma restrição do Java ou do OS X. Como os aplicativos para Mac estão na área restrita (pelo que entendi), é por isso que ligaropen de dentro de um aplicativo não faz nada?

Eu usei duas abordagens para abrir o aplicativo necessário. É um jogo Steam, mas também vem como varejo, para que possa ser lançado pelo próprio aplicativo ou usando osteam:// protocolo. No meu código, tentei o seguinte:

ProcessBuilder pb = new ProcessBuilder("open", "steam://rungameid/57300//");
pb.start();
ProcessBuilder pb = new ProcessBuilder("open", appDir);
pb.start();

appDir é uma string que contém um caminho para o pacote .app que desejo iniciar.

Alguma idéia de por que isso falha em um pacote de aplicativos para Mac, mas funciona bem no Eclipse / Jar? A execução do aplicativo com o console (por meio do script bash no pacote configurável) não retorna nenhum erro; portanto, parece-me que o Java executa o comando corretamente, mas o OS X talvez o ignore?

Também tentei pesquisar no Google por isso, mas talvez pareça altamente incomum ou apenas muito específico e não consegui encontrar nada.

questionAnswers(2)

yourAnswerToTheQuestion