标签: cocoa-scripting

如何在可编写脚本的应用程序中将任意AppleScript记录传递给Cocoa?

我有一个Cocoa应用程序,其中包含.sdef XML文件中描述的AppleScript字典.sdef中定义的所有AppleScript类,命令等都是工作属性.

除了我的"提交表单"命令."提交表单"命令是我唯一的命令,它尝试将一个参数传递给AppleScript,该参数是从AppleScript到Cocoa的任意哈希表.我认为这应该通过传递AppleScript来完成,AppleScript record将自动转换为NSDictionaryCocoa端.

tell application "Fluidium"
    tell selected tab of browser window 1
        submit form with name "foo" with values {bar:"baz"}
    end tell
end tell
Run Code Online (Sandbox Code Playgroud)

"with values"参数是record- > NSDictionary参数我遇到了麻烦.请注意,记录/字典的键不能事先知道/定义.他们是任意的.

以下是我的sdef XML中此命令的定义:

<command name="submit form" code="FuSSSbmt" description="...">
    <direct-parameter type="specifier" optional="yes" description="..."/>
    <parameter type="text" name="with name" code="Name" optional="yes" description="...">
        <cocoa key="name"/>
    </parameter>
    <parameter type="record" name="with values" code="Vals" optional="yes" description="...">
        <cocoa key="values"/>
    </parameter>
</command>
Run Code Online (Sandbox Code Playgroud)

我有一个"tab"对象,它响应sdef中的这个命令:

<class name="tab" code="fTab" description="A browser tab.">
    ...
    <responds-to command="submit form">
        <cocoa …
Run Code Online (Sandbox Code Playgroud)

macos cocoa applescript cocoa-scripting

5
推荐指数
2
解决办法
1677
查看次数

创建可编写脚本的Cocoa应用程序的简单教程(脚本桥)

有人能指出我介绍ScriptingBridge的一个非常简单的hello world类型的应用程序吗?你需要一步一步地创建一个可以从ruby/python/applescript等实例化的1类-1方法项目.

我很难绕过创建可编写脚本的cocoa应用程序所需的内容,但却找不到任何具体的示例或教程.

cocoa objective-c scripting-bridge cocoa-scripting

4
推荐指数
1
解决办法
1952
查看次数