脚本编辑器“损坏的字典”
Posted
技术标签:
【中文标题】脚本编辑器“损坏的字典”【英文标题】:Script Editor “Corrupted Dictionary” 【发布时间】:2013-12-01 01:38:36 【问题描述】:我正在尝试在 OS X Mavericks 上创建 AppleScript 库。我已将文件作为脚本包保存到~/Library/Script Libraries
;它有一个正确的(据我所知;见下文)sdef 文件,我已经设置了脚本定义字段。
但是,当我尝试保存我的脚本包时,AppleScript 编辑器给了我以下一般错误消息:“应用程序的字典已损坏。”我可以防止这种情况发生的唯一方法是在保存之前从文档中删除 all 文本 - 如果那里有 anything (甚至只是一条评论),AppleScript抛出错误。怎么回事?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
<dictionary>
<suite name="Regular Expressions" code="RExp" description="Commands for working with regular expressions">
<command name="match" code="RExpMtch" description="Gets whether or not the regular expression matches.">
<direct-parameter type="text" description="The regular expression to match." />
<parameter name="against" code="targ" type="text" description="The string to match the regular expression against. "/>
<parameter name="with options" code="opts" type="expression options" optional="yes" />
<result type="expression match" />
</command>
<command name="default expression options" code="DOpt">
<result type="expression options" />
</command>
<class name="expression match" code="Rslt" description="The output of a match command.">
<contents type="text" name="capture group" code="Mgrp" />
<property type="boolean" name="success" code="OK? " access="r" />
</class>
<class name="expression options" code="opts">
<property name="case sensitive" code="Case" type="boolean" access="rw" />
<property name="single line flag" code="S\n " type="boolean" access="rw" />
<property name="multiple line flag" code="M\n " type="boolean" access="rw" />
</class>
</suite>
</dictionary>
上面的sdef代码也是Here
【问题讨论】:
【参考方案1】:您收到错误的主要原因是命令格式错误;
< command name="default expression options" code="DOpt">
<result type="expression options" />
</command>
删除它允许脚本编译。
此外,您不应使用所有小写代码。它们是为 Apple 的代码保留的,可能会发生冲突
【讨论】:
谢谢,它成功了。但是,为什么该命令首先无效? 因为它只有一个 4 位数的代码。命令必须有 8 个。你应该注意:developer.apple.com/wwdc/videos/index.php?id=416。也可能有其他问题..以上是关于脚本编辑器“损坏的字典”的主要内容,如果未能解决你的问题,请参考以下文章
Unity3DUnity 脚本 ② ( Visual Studio 2019 中的 Unity 编译环境配置 | Unity 编辑器关联外部 C# 脚本编辑器 Visual Studio )