Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Applescript 使用Evernote';s";“查找注释”;应用程序未打开时的动词_Applescript_Evernote - Fatal编程技术网

Applescript 使用Evernote';s";“查找注释”;应用程序未打开时的动词

Applescript 使用Evernote';s";“查找注释”;应用程序未打开时的动词,applescript,evernote,Applescript,Evernote,我正在编写一个applescript,它使用一个名为“查找注释”的命令(在Evernote字典的Evernote套件中)与Evernote for Mac交互。这是我的剧本: tell application "Evernote" set myNotes to find notes ("intitle:Title") end tell 如果我在Evernote已经打开的时候运行脚本,它可以正常工作,但是如果我在运行脚本时Evernote还没有打开,它会给我一个错误:“预期的行尾,但是 第二行中

我正在编写一个applescript,它使用一个名为“查找注释”的命令(在Evernote字典的Evernote套件中)与Evernote for Mac交互。这是我的剧本:

tell application "Evernote"
set myNotes to find notes ("intitle:Title")
end tell
如果我在Evernote已经打开的时候运行脚本,它可以正常工作,但是如果我在运行脚本时Evernote还没有打开,它会给我一个错误:“预期的行尾,但是 第二行中的“notes”一词突出显示

无论是从AppleScript编辑器还是作为shell脚本运行,其行为都是相同的

它似乎将“find”解析为一个完整的动词,而不仅仅是动词“find notes”的一部分。但是如果Evernote是打开的,那么它可以识别完整的动词并正确工作


是否有任何方法可以使此脚本(未编译)在安装了Evernote但可能正在运行或可能没有运行的环境中运行?

如果其他任何人遇到相同的问题,如果我指定应用程序的完整路径而不仅仅是名称,则似乎可以解决此问题。因此:

tell application "/Applications/Evernote.app"

我相信这是因为当你没有给出一个特定的名字时,它会与(正常运行的)EvernoteHelper应用程序匹配

我认为,只要在编译时运行Evernote本身,脚本中就会出现正确的引用,因此编译后的脚本应该在运行时启动Evernote而不是EvernoteHelper

您可能会发现,使用捆绑标识“com.evernote.evernote”而不是应用程序的硬编码路径也可以工作:

tell application id "com.evernote.Evernote"

(注意“id”部分。)

谢谢您的解释!而且使用bundle标识符似乎工作得很好。