我用Java编写了一个适用于Mac OS X的应用程序。我想使用Jar Bundler将其转换为.app。我需要这个应用程序以root身份运行。有没有办法让应用程序调用这样的密码提示对话框?
答案 0 :(得分:0)
是的,你可以使用applescript。 原谅我,可能有更好的方法来做到这一点,但这就是我会这样做的方式(这种方式也更有趣)。
这会运行一个shell脚本
Process proc=Runtime.getRuntime().exec("shell-script-here");
然后你进行下一步,像这样通过shell脚本运行一个applescript ...
Process proc=Runtime.getRuntime().exec("osascript -e 'applescript-here'");
你必须非常小心反斜杠引用等等......但是这一行应该提示密码对话框
Process proc=Runtime.getRuntime().exec("osascript -e 'do shell script \"\" with administrator privileges');
虽然这可能看起来令人困惑,但当我说'do shell script \“'表示意思,什么也不做,但它仍然会提示输入密码。鉴于我不知道你的程序做了什么,你可以用任何shell脚本或其他东西替换它。聪明一点,我相信你可以找到一种让你的程序工作的方法。
现在,我不能用勺子给你答案,只记得,根据我的经验,如果你使用这种方法,任何错误都将归因于没有反映引号等。