gpt4 book ai didi

java - Java Applet 中的某些 AppleScript 不再适用于 Mavericks

转载 作者:太空宇宙 更新时间:2023-11-04 15:14:23 27 4
gpt4 key购买 nike

我对最新的 MacOS X 版本有疑问:Mavericks。我曾经从 Java 小程序调用 AppleScript,在 MacOS X 10.7.5 上一切正常。转到 Mavericks 后,我必须进行一些更改才能再次访问 AppleScriptEngine,但即便如此,我运行的脚本也会返回错误。

这是我尝试过的:我的一小段代码:

private static final String SCRIPT = 
"try\n"
+ " tell application \"Finder\"\n"
+ " delay 5\n"
+ " if exists application file id \"XCEL\" then return \"Excel found\"\n"
+ " end tell\n"
+ "on error errStr number errorNumber\n"
+ " error errStr number errorNumber\n"
+ "end try";

static void checkAppleScript() {
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine appleScript = mgr.getEngineByName("AppleScript");
if (appleScript != null) {
JOptionPane.showMessageDialog(null, "AppleScript found: " + appleScript);
try {
JOptionPane.showMessageDialog(null, appleScript.eval(SCRIPT));
} catch (ScriptException se) {
JOptionPane.showMessageDialog(null, se.getMessage());
}
} else {
JOptionPane.showMessageDialog(null, "NO AppleScript engine");
}
}

我将其放入一个签名的 jar 文件中,并在 list 中包含以下属性:

  • 可信库:true
  • 应用程序名称:TestingAppleScript
  • 权限:所有权限
  • 代码库:*

当我从 java 命令行运行测试类时,在 MacOS X 10.7.5 和 10.9.1 上都可以找到 Excel。

当我从 Safari 运行测试小程序时,在 MacOS X 10.7.5 上仍然可以找到 Excel,但在 10.9.1 上我收到一条错误消息:“Finder 出现错误:应用程序未运行”。

我发现此错误可能会导致脚本执行速度过快,这就是为什么我在脚本中添加了 5 秒延迟,但这并不能解决问题。

由于我没有更多的想法可以尝试,我希望有人能够提供帮助。

最佳答案

我终于找到了阻塞的原因:Safari 中有一个安全选项,表明 Java 插件可以在给定服务器的不安全模式下运行。激活它解决了我的问题。

关于java - Java Applet 中的某些 AppleScript 不再适用于 Mavericks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21014784/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com