首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >:某些StandardAddition命令的权限错误

:某些StandardAddition命令的权限错误
EN

Stack Overflow用户
提问于 2014-11-12 13:48:11
回答 1查看 1.6K关注 0票数 8

在约塞米蒂中,现在可以使用用于自动化的JavaScript和Applescript。我在某些StandardAdditions命令上遇到了问题。例如,在联系人应用程序中,我可以使用displayAlert,但不能使用displayAlert两者都在StandardsAdditions字典中。当通过ScriptEditor运行这些命令时,我不会遇到这些问题。

对于失败的命令,我在运行时获得:错误-10004:权限冲突发生了

JavaScript中的示例代码

代码语言:javascript
复制
ScriptEditor = Application("Script Editor");
ScriptEditor.includeStandardAdditions = true;

app = Application("Contacts"); // or e.g. "Calendar", "System Events", "Finder"
app.includeStandardAdditions = true;

// -- testing: displayAlert()
ScriptEditor.displayAlert("Hello world!"); 
app.displayAlert("Hello world!"); // success, no privilege error

// -- testing: displayNotification()
ScriptEditor.displayNotification("Hello world!"); 
//app.displayNotification("Hello world!"); // Error -10004: A privilege violation occurred.

// --- testing: say()
ScriptEditor.say("Hello world!");
//app.say("Hello world"); // Error -10004: A privilege violation occurred.

// --- testing: beep()
ScriptEditor.beep(1);
//app.beep(1); // Error -10004: A privilege violation occurred.

AppleScript中使用等效代码时,不会出现权限冲突错误:

代码语言:javascript
复制
tell application "Script Editor" to display alert "from Script Editor" -- with Script Editor icon
tell application "Contacts" to display alert "from contacts" -- with Contacts icon

tell application "Script Editor" to display notification "from Script Editor" -- with Script Editor icon
tell application "Contacts" to display notification "from contacts" -- with Script Editor icon (!)

但在这种情况下,我注意到的是,Contact显示的是联系人图标(联系人应用程序被激活),但Contact显示的是脚本编辑器图标(联系人应用程序未激活)。

使用约塞米蒂10.10。这是窃听器还是我漏掉了什么?

EN

回答 1

Stack Overflow用户

发布于 2015-03-16 02:21:48

原因是AppleScript正在使用继承。您可以告诉任何应用程序“显示通知”,但是调用最终会被传递到理解消息的脚本编辑器(或脚本applet)的层次结构中。据我所知,JavaScript实现不支持继承。我对OSA世界的JavaScript方面不太熟悉。:)

tl;dr:联系人实际上不能做你想要做的事情,它在AppleScript中是有效的,因为AppleScript太棒了。:)

如果您查看脚本编辑器中的回复日志,您可以看到继承是实时发生的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26888523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档