问题标签 [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 回答
1214 浏览

javascript - “无法获取文档”错误 - Javascript 和 Applescript

我的 Applescript 在 Safari 中(偶尔)遇到此错误。

我认为这是因为页面没有加载,但我有一个 Javascript 来检查“完成”,然后再继续,还有一个 try 语句可以在出错时再延迟一秒。

尽管如此,我仍然遇到这个问题。这似乎是相当随机的。

有什么建议么?

Applescript(整个 Tell 语句):

0 投票
1 回答
287 浏览

objective-c - 超时在 NSAppleScript 中无效

我有一个简单的苹果脚本如下:

这个脚本执行得很好,但是当 InDesign 显示Save Confirm Dialog时,如果我执行脚本,它会等待 2 分钟(默认苹果脚本超时)。

在此处输入图像描述
保存确认对话框

因此我指定超时如下:

现在,如果我在AppleScript 编辑器中执行上述脚本,每件事都符合我的预期:

在此处输入图像描述

但是当我通过NSAppleScript以编程方式执行相同的脚本时,超时没有任何影响,程序等待 2 分钟:

附加描述:当我的可可代码正在执行时(当我的应用程序被阻止时)如果我在AppleScript 编辑器
中执行相同的脚本,那么我的可可代码在 2 分钟超时之前被解除阻止。似乎我的应用程序在苹果脚本超时行之前被阻止 [?]如何执行与AppleScript Editor相同的苹果脚本?任何帮助,将不胜感激。

0 投票
1 回答
182 浏览

objective-c - 努力从 ApplescriptObjC 中的 Objective-C 路径打开文件

我是一位经验丰富的 Cocoa 程序员和 Applescript 新手。我需要编写一个基于 Microsoft 的报告生成器。我从 Applescript 桥开始,基本上用 Word 碰壁了。我现在正在尝试使用 ApplescriptObjC,而且我正在苦苦挣扎。

当用Objective-C编写的方法报告文件路径时,我什至陷入了打开文件的愚蠢步骤。Objective-C 类代码非常简单(作为一个人为的例子):

旁注:当前目录不是构建的应用程序目录。这是我尝试使用它的方法之一:

这个得到这个错误:

我尝试了很多变体,尽管尝试了很多小时,但我仍然无法让 Word 打开我的文件。

我究竟做错了什么?

0 投票
1 回答
218 浏览

applescript - Applescript:从 ApplescriptObjC 询问 Finder?

这个单行 Applescript 在我的 Mac 上运行良好:

然而,它在一个简单的 ApplescriptObjC 项目中失败了:

我得到的错误是:

我错过了什么?

0 投票
3 回答
2470 浏览

xcode - 如何在 Xcode 中为自定义 Automator Action 项目连接按钮的 Sent Action

我在 Xcode 的 Interface Builder 中,创建一个 Cocoa-Applescript 自定义 Automator Action。我在界面中有一个 Button 和一个 ComboBox 菜单。当用户单击按钮时,我想填充组合框菜单的内容值。我创建了

applescript 文件中的处理程序,但是当我 ctrl 从按钮拖动到文件的所有者时,文件的所有者没有突出显示让我放弃连接。我期望它放下并让我选择 buttonSentAction_ 处理程序来接收发送的操作。如果我右键单击 File's Owner,我在 Applescript 控制器文件中创建的接收到的操作处理程序不会显示出来。(注意,我仍然不确定在该处理程序中填充 ComboBox 菜单的正确行。) 将组合框链接到文件所有者的屏幕截图

我可以在 macosxautomation.com 的“FM to Named Text Boxes”示例 Automator Action 项目中看到,在 IB 中有一个按钮,您可以在 Bindings Inspector 中看到该按钮的发送操作实际上已连接到文件的所有者,并且applescript 文件具有匹配的处理程序。另外,文件所有者的控制器默认设置为applescript文件。显然,我错过了一些关于在 Automator Action Project 中连接发送动作的具体内容。有什么帮助吗?

0 投票
1 回答
591 浏览

objective-c - 在自定义 Automator 操作中保存用户弹出选择

使用 Xcode 5.* 进行 cocoa-applescript automator 操作。界面是一个简单的弹出菜单,使用以下插座填充:

当操作在工作流(实际上是服务)中使用时,我希望下次运行它并显示操作对话框(我将选择“选项:运行时显示”),我希望弹出菜单更改选择到最后一个被选中的。现在,默认的第一个项目显示,即使上次运行时,用户在弹出菜单中选择了不同的项目。我的想法是我需要使用 Sent Action 处理程序捕获弹出菜单中的更改,然后设置某种类型的默认值。我有一个工作处理程序:

保存这个的正确方法是什么?我是否使用用户默认值?我的绑定当前都通过参数对象/控制器绑定。如果我应该使用用户默认值,有人可以提供设置用户默认值的示例代码,然后如何使用 Cocoa-Applescript 获取和设置新值?

如果我可以获取保存在某处的菜单项的名称字符串,我可以获取该字符串,然后在

在每次显示操作之前调用的处理程序。

感谢您的帮助,乔

0 投票
1 回答
1575 浏览

xcode - 如何在 Xcode 上使用 Cocoa-Applescript 将代码链接到 GUI

我正在尝试将我的代码链接到我的 GUI。但它不会让我。

目前,我的 GUI 上有一个标签、按钮和一个文本字段。这是我的 GUI 代码:

当我尝试使用 App Delegate 工具时,它不起作用。我将它拖到 GUI 上的部件上,它会形成一条蓝线。但是,“Outlets”下唯一显示的是“Window”

如果我运行该程序,GUI 会出现,但它没有做任何事情,因为代码没有连接!

如何将我的代码连接到我的 GUI?

额外信息:Xcode 5.1

0 投票
1 回答
517 浏览

applescript - 如何将输入 __NSArrayM 转换为 Automator Action 项目中的 AppleScript 列表?

自动化操作

我正在制作用于操作文本输入的自定义 Automator 操作。我测试了输入以查看它是什么类,结果是__NSArrayM. 这意味着我需要以某种方式将此输入转换为 AppleScript 可以理解的列表,并最终转换为字符串。我只需要隔离字符串,然后将其转换回相同的输出对象。

概括:

  • 将 __NSArrayM输入转换为 AppleScript 列表对象
  • 将 AppleScript 列表对象转换回 __NSArrayM 用于输出

我希望我的自动机看起来像这样: 在此处输入图像描述

XCode 中的编码尝试

我的编码尝试如下:


最终代码更新

我想我会将最终代码发布到我的自动化操作中以确保完整性。关键步骤是进行com.apple.cocoa.string如下图所示的输入和输出。

输入自动机

0 投票
1 回答
896 浏览

xcode - 如何在 Cocoa Applescript (ApplescriptObjC) 中对单选按钮进行编程

所以现在我已经在 Xcode 上构建了一个用户界面,并且正在编写 AppleScriptObjC 脚本。

我的界面上有 4 个单选按钮。我如何对它们进行编程?这是我当前的代码:

这是我刚刚尝试但不起作用的代码

0 投票
4 回答
4306 浏览

xcode - Swift 和 scriptingbridge 对象初始化

我正在尝试编写一个用于快速控制 iTunes 的应用程序。但是在初始化应用程序时返回一个类型为 的对象AnyObject,而且必须是 iTunesApplication。

该对象不响应 iTunes 的方法和变量。谁知道如何使它工作?

iTunes.h 标头还包含我需要访问但不能访问的类。这些类会导致编译错误,就好像它们不在声明的 iTunes.h 中一样。

为什么这会发生在我身上还不清楚。

通过@class 声明为 iTunes.h 的整个类列表:

@class iTunesPrintSettings, iTunesApplication, iTunesItem, iTunesAirPlayDevice, iTunesArtwork, iTunesEncoder, iTunesEQPreset, iTunesPlaylist, iTunesAudioCDPlaylist, iTunesLibraryPlaylist, iTunesRadioTunerPlaylist, iTunesSource, iTunesTrack, iTunesAudioCDTrack, iTunesFileTrack, iTunesSharedTrack, iTunes URLTrack, iTunesUserPlaylist, iTunesFolderPlaylist, iTunes Visual, iTunes Window, iTunes iTunes Playlist iTunesBrowserWindow;

例如,在 Objective-c 中,您将使用类似这样的方法来获取当前曲目

但是我无法快速工作。