使用第三方脚本库时,我无法再在Script Editor.app中保存AppleScript文件


1

我有一个AppleScript .scpt文件使用 Dialog Toolkit 脚本库:

Dialog Toolkit是一个基于ASObjC的脚本库,用于显示增强的对话框。

以下行位于.scpt文件的顶部:

use script "Dialog Toolkit" version "2.0"

Dialog Toolkit 文件位于正确的位置:

/ Users / Me / Library / Script Libraries / Dialog Toolkit.scptd

但是,当我尝试在Script Editor.app中保存我的.scpt文件时,我收到以下消息:

对话框显示:

无法保存文档“Untitled.scpt”。 C和Objective-C指针无法保存在脚本中。

编译脚本将重置属性值并可能解决此问题。

我不知道“的含义” C和Objective-C指针 “所以我不明白这个问题。

我可以成功运行并编译脚本。但是,在我编译脚本之后,我仍然无法保存文件;我仍然收到上述错误消息。

如果我复制完整的代码并将其粘贴到 新文件 在脚本编辑器中,错误仍然存​​在。

如果我删除所有的 Dialog Toolkit 我的脚本中的代码,然后我可以保存.scpt文件,没有错误。因此,似乎该问题与脚本编辑器处理外部脚本库的方式有关。


另外,在处理包含的脚本时,我注意到了一般的“bugginess” Dialog Toolkit 脚本编辑器中的代码。

  • 例如,如果文档是打开的,有时Script Editor.app会自动退出。

  • 其他时候,当我按下 “编译脚本” 要么 “运行脚本” 按钮,我的光标变换为旋转的风车,并保持一个超过一分钟的风车。脚本编辑器冻结,所以我必须 强行退出 脚本编辑器。


这个问题有可能与我先前的一个问题有关:

列出的所有内容 “我尝试过的:” 以上问题的部分也未能解决 无法保存该文档。 错误。


OS X El Capitan,版本10.11.6。

脚本编辑器版本2.8.1(183.1)

Answers:


1

我要尝试的第一件事是打开scripteditor.app库面板。 在Scripteditor中,转到菜单项“Window / Library”

enter image description here

如果列表中存在dialog toolkit,我会在列表中选择它并将其删除。然后我会退出scripteditor.app并重新启动它。一旦scripteditor.app启动并再次运行,打开Library面板并单击菜单栏中的“Add”按钮,导航到〜/ Library / Script Libraries并选择Dialog Toolkit.scptd。

这可能会解决你的问题。我有一种有趣的感觉,问题正在发生,因为您的新com.apple.ScriptEditor2.plist文件可能不包含对此图像中此示例的Dialog Toolkit.scptd的任何引用。

这是在xcode中打开的com.apple.ScriptEditor2.plist文件

enter image description here


你能解释一下吗? “打开scripteditor.app库面板” ?我不明白你是如何到达屏幕截图的。
rubik's sphere

1
Dialog Toolkit 脚本编辑器“库”列表中没有,所以我添加了它。然后我重新启动了脚本编辑器。但是,当我去保存包含的.scpt文件时 Dialog Toolkit 代码,我仍然收到我在帖子中描述的相同错误。然后我打开了我的 com.apple.ScriptEditor2.plist 在Xcode中的文件,并看到它确实包含 Dialog Toolkit 图书馆。但是,我随后删除了 Dialog Toolkit 脚本编辑器菜单中的库,我立即重新添加它。然后我编译了脚本,现在意识到了 我可以 保存.scpt文件,没有错误。谢谢!
rubik's sphere

这就是我们学习LOL的方式,这都是关于反复试验的
wch1zpink

是。不过,我会说,这整个体验与脚本编辑器一起使得Script Debugger.app看起来更具吸引力......
rubik's sphere

自从你的YouTube Play / Pause帖子发布以来,我已经把注意力从脚本调试器转移到了Xcode lol
wch1zpink
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.