问题标签 [applescript-objc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
436 浏览

xcode - 使用 AppleScriptObjC 读取内容文件并向其写入新内容

我想编写一个applescript代码来读取文件并在我修改输入对话框时写回它

喜欢

我使用 Xcode 4.6 创建了一个文本字段和 2 个按钮。我想使用上面的代码读取主机文件的内容并将其显示在文本字段上,当我修改文本字段并单击保存按钮时,它应该以管理员权限写回主机文件。我试过了,但它们对我不起作用,也许我不知道 applescript 和 applescriptobjc 之间的区别。

请帮我解决一下这个。

提前致谢

0 投票
1 回答
1306 浏览

macos - 将变量或字符串从 OS X Cocoa 应用程序传递到 Applescript

我想将一个变量传递给applescript。例如,我在 Cocoa-App(不是 cocoa-applescript 应用程序)的文本字段中键入了一些单词。然后,它将成为 Applescript 中的变量以供将来使用。我使用 Applescript 来告诉一些软件运行一些文件。

我试过How Can I Pass a String From Applescript to Objective C这里的方法。它可以使用initialwithSource在 applescript 中添加第一行。我得写一个长句。此外,如果我已经拥有 applescript,我必须将它们组合在一起。或者我必须用 Cocoa 编写所有脚本,如下所示。它毫无意义,有时效果不佳。

你们中有人知道更好的方法吗?

谢谢

0 投票
1 回答
439 浏览

xcode - 检测选项卡视图更改 Xcode OSX AppleScriptObjC

我正在 AppleScriptObjC 中构建一个应用程序,并且我有一个初学者问题 - 我如何处理单击我的应用程序中的选项卡按钮?我正在尝试使其每个选项卡具有不同的大小。我可以调整窗口大小,但不能在您单击选项卡时调整。无论如何,我已将选项卡视图连接到委托 在此处输入图像描述

等等,并添加了didSelectTabView如下功能:

...我收到以下错误:

任何帮助,将不胜感激!

0 投票
1 回答
4950 浏览

path - 将路径存储为字符串 Applescript

在我的 Applescript 中,我选择了一个我想存储路径的文件(稍后打开)。

当我尝试将文件的路径存储为字符串时,这是我收到的错误:

错误“无法将别名 \"Macintosh HD:Users:Username:Desktop:Folder:File.xls\" 的路径转换为类型字符串。” 从别名“Macintosh HD:Users:Username:Desktop:Folder:File.xls”的路径到字符串的数字 -1700

我怎样才能有效地存储这个文件路径,以便我以后打开这个文件时可以回忆起它?

苹果脚本:

*注意:我也试过了as text

0 投票
2 回答
944 浏览

cocoa - 使用 NSAppleScript 从活动查找器窗口中检索选定文件的列表

有谁知道我如何从活动的查找器窗口中检索选定文件的列表?我对 AppleScript 完全没有经验,我们将不胜感激!

我尝试使用 SO 上另一个答案中的以下代码,但我可以让它返回任何东西。没有错误,没有结果,什么都没有。我知道即使它确实有效,也只会给我第一个文件,我需要完整的文件选择..

编辑

我在执行脚本之前打印出错误字典,这就是没有错误的原因。这是我在查找器窗口中选择两个文件时得到的结果:

谢谢你!舒迈斯

0 投票
1 回答
746 浏览

objective-c - 使用 Cocoa 应用程序中嵌入的 AppleScript-ObjC 处理错误的最佳方法?

我正在从一个较大的 Cocoa/Objective-C 应用程序中调用一个小的 AppleScript 处理程序(使用 AppleScript-ObjC 框架直接从 Objective-C 代码调用 AppleScript 方法)。我最初尝试使用 Scripting Bridge,但由于与外部应用程序的兼容性问题,这对我不起作用。AppleScript 的唯一目的本质上是向外部应用程序发送一个小字符串。这是我第一次尝试做这样的事情来控制外部应用程序,所以如果我犯了一个明显的错误,请多多包涵。

有时,AppleScript 可能会根据外部应用程序的状态遇到错误,我想在我的 Objective-C 代码中适当地处理这些错误。

我现在这样做的方式是在 AppleScript 中有一个 try 块:

如果脚本正常完成,我返回零,如果没有,则返回错误号。然后在 Objective-C 代码中,我测试返回值并在出现错误的情况下抛出一个“正常”异常,这样我就可以在我的常规异常处理代码中处理它。

这可行,但是有没有办法直接从 Objective-C 代码中捕获 AppleScript 异常?当我try-error在 XCode 中运行没有 AppleScript 代码的代码时,它似乎在从 AppleScript 返回之前命中了我的异常断点,但它从不@catch调用NSException. 有什么方法可以捕获以某种方式被击中的异常吗?我猜答案是否定的,但我想检查是否没有比我正在做的更好的方法来做到这一点。Apple 关于 AppleScript-ObjC 的文档相当稀少,而且大多只是讨论处理 AppleScript 中的错误。

更新:所以,我只是尝试了一点断点设置,结果发现这是从 AppleScript 代码发送的 C++ 异常,而不是 Objective-C 异常。这就是为什么它没有被@catch我正在使用的块捕获。AppleScript-ObjC 机制似乎对控制流/可恢复错误使用异常,并且我将断点设置为在它们被抛出时中断。因此,我认为最好只捕获 AppleScript 应用程序中的错误,并将错误代码作为字符串或整数返回到 Objective-C 代码。

0 投票
1 回答
699 浏览

objective-c - 从objective-c调用多个参数到applescript-objc

我有一个 applescript-objc 脚本,其方法如下:-

我想从objective-c调用这个方法,但似乎无法弄清楚如何调用具有多个参数的方法,我没有问题调用只有一个参数的方法,如下所示:-

请有人帮忙。

问候,安迪。

0 投票
4 回答
5724 浏览

json - 如何在 AppleScript 中枚举记录的键和值

当我使用 AppleScript 获取对象的属性时,会返回一条记录

如何遍历返回记录的键/值对,这样我就不必确切知道记录中的键是什么?

为了澄清这个问题,我需要枚举键和值,因为我想编写一个通用的 AppleScript 例程来将记录和列表转换为 JSON,然后可以由脚本输出。

0 投票
1 回答
306 浏览

objective-c - AppleScriptObjC 中的 @selector 等效项

我正在使用 anNSDatePicker和 an来在' 值更改NSTextField时更新文本字段。NSDatePicker

在 Objective-C 中,我会使用这种方法:

我已将此方法转换为以下 AppleScriptObjC 代码:

但是,这会导致构建失败。代替@selector(dateChanged_), 我也尝试过"@selector(dateChanged:)","@selector(dateChanged_)"dateChanged_; 到目前为止没有运气。

将此方法转换为 AppleScriptObjC 的正确方法是什么?

0 投票
1 回答
197 浏览

macos - 如何在 AppleScriptObjC 中使用 NSAutoreleasePool

我想知道如何从后台函数中停止另一个函数。
另外,我还要排干NSAutoreleasePool,但是不知道怎么做。
我认为如果我不释放池,这个应用程序有时会冻结。

您可以从这里下载源代码 --> https://dl.dropboxusercontent.com/u/97497395/test2.zip
供您参考,我使用的是 Xcode 4.6.3。

编辑
我的脚本有delay 300命令,所以我不能通过检查变量的值来停止函数。对不起。

编辑
我想到了在延迟命令时停止该功能的想法。

我可以在 60 秒内停止该功能,但我无法在按下停止按钮时立即停止它。所以,我还在等你的答复。