我想在OS X上使用Python创建一个应用程序,即AppleScript。
首先,我使用this tutorial创建了一个应用程序(它可以工作!)。然后我使用this SO answer添加AppleScript支持;我试图将Objective-C的东西翻译成Python。我在setup.py中添加了一个plist项:
OPTIONS = {
#...
'plist': {
'NSAppleScriptEnabled': True,
'OSAScriptingDefinition': 'SimpleXibDemo.sdef',
#...
}
}
我创建了SimpleXibDemo.sdef
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
<dictionary title="SimpleXibDemo">
<suite name="SimpleXibDemo Suite" code="SXiD" description="SimpleXibDemo Scripts">
<command name="increase" code="increxib" description="Increase the value">
<cocoa class="SimpleXibDemoIncreaseCommand"/>
<parameter name="by" type="integer" optional="yes">
<cocoa key="by"/>
</parameter>
<result description="Returns the new value" type="integer"/>
</command>
</suite>
</dictionary>
我添加了SimpleXibDemoIncreaseCommand类:
class SimpleXibDemoIncreaseCommand(NSScriptCommand):
def performDefaultImplementation(self):
args = self.evaluatedArguments()
nr = args.valueForKey("by")
viewController.increment()
return nr + 1
应用程序本身可行,但是当我运行AppleScript时:
tell application "SimpleXibDemo"
set myResult to increase by 3
end tell
我收到此错误:
error "SimpleXibDemo got an error: Can’t continue increase." number -1708
我无法找到有关错误编号-1708的任何信息。当我用脚本编辑器打开应用程序时 - &gt;打开字典,没有任何反应。
这是什么问题?我有点卡住了: - /