问题标签 [nsapplescript]

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 回答
332 浏览

swift - NSAppleScript 是否有 App Store 授权(来源:“do shell script \”sudo”命令?

例如,我的应用程序在操作系统处理弹出警报时使用以下命令,以请求管理员密码以 root 身份进行身份验证。是否有允许我在沙箱内运行它的权利?

0 投票
0 回答
168 浏览

objective-c - Mac:使用 NSAppleScript 时出现“应用程序未运行”错误

我正在 Mac OSX 10.10 上开发 Quick Look 插件。要为我们的自定义文件格式提供预览,我需要从使用 NSAppleScript 类的 Quick Look 插件调用我们的 mac 应用程序:

问题是无论 MyApp 是否正在运行,我总是在输出窗口中收到“应用程序未运行”消息。我正在运行 QLMANAGE 来调试这个插件。我什至尝试将 MyApp 的完整路径设置为:

但它没有帮助。NSAppleScript 对象是否有权启动应用程序?这是插件无法启动或连接到应用程序的 Quick Look 插件的权限问题吗?还是对qlmanage 工具的一些限制?

0 投票
4 回答
645 浏览

swift - 如何将日期信息传递给 AppleScript?

我正在制作一个可以通过 NSAppleScript 运行 AppleScript 的应用程序。一切都很好,但我无法弄清楚如何将日期信息从我的应用程序传递到 AppleScript。(由于 AppleScript 有日期类型,我想这是可能的)我将参数传递给 AppleScript 的方式是通过 NSAppleEventDescriptor。我从谷歌了解到我可以将它作为 typeLongDateTime 类型传递:

不幸的是,LongDateTime 类型早已不复存在,因为我使用的是 Swift 并且在 OS X 10.10 下。甚至核心服务功能 UCConvertCFAbsoluteTimeToLongDateTime 也已从 10.10.3 中删除。

现在我被困住了。

你有什么启发灵感的想法吗?

0 投票
1 回答
252 浏览

macos - 如何使用 NSAppleScript 或任何其他可以从 Mac 应用程序执行的命令来锁定(而不是睡眠)我的 Mac

在我的 Mac 应用程序中,我试图根据我的应用程序中的一些操作来锁定我的 Mac。到目前为止,我只有一种方法可以让它进入睡眠状态,但不能锁定。目前我正在这样做:

请指导。

0 投票
0 回答
231 浏览

objective-c - Cocoa - 通过嵌入式苹果脚本在显示首选项中切换镜像显示?

将可访问性设置为 ON 后,我尝试使用以下带有苹果脚本的 Objective-C 代码来镜像显示:

使用此代码,我只是打开了 Display Preferences > Arrangement 窗口。

如何执行单击复选框以镜像显示?

是否可以在不打开此窗口的情况下执行它?如果是,那么如何?

提前致谢。

0 投票
2 回答
194 浏览

swift - 在展开可选值时意外发现 nil(AppleScript 结果)

我正在尝试在 Swift 2 中创建一个运行并获取 AppleScript 脚本结果的程序。

这是我的代码:

问题是程序崩溃并输出:

致命错误:在展开可选值时意外发现 nil

在控制台中。我也尝试过if let else,但这也不起作用。我将如何解决这个问题?

这是使用 swift 语言使用 OS X 命令行模板进行测试的。

0 投票
1 回答
877 浏览

swift - 沙盒授权通过 NSAppleScript 编写 iTunes 脚本

我正在尝试在我的 Cocoa 应用程序中从 NSAppleScript 编写 iTunes 脚本,以便将文件添加到库中。

在我的权利文件中,我添加了以下内容:

然后我像这样调用AppleScript:

但它失败并出现错误-10004iTunes got an error: A privilege violation occurred.

itunes我尝试两种方式(和)都使用iTunes ,iTunes但似乎没有任何效果。我还尝试在读写权限之上添加read权限。最后,我尝试添加对用户音乐文件夹(存储 iTunes 库的位置)的读写访问权限,但这也无济于事。

为了编写 iTunes 脚本,是否还有其他我不知道的必需权利?

我在搜索解决方案(链接)时找到了此链接,但它要求用户在其文件夹中选择一个特定文件Library夹以授予应用程序用户选择的文件访问权限,然后它要求脚本位于一个单独的文件中,即 2我想做的事情太多了。对于脚本文件的管理,我不信任用户,我不需要用于 1 行 AppleScript 代码的文件。据我了解,另一个缺点NSUserAppleScriptTask是您不能在多个调用中保持脚本的状态,这在我的情况下不是问题,但可能是其他人的问题。

谢谢

0 投票
0 回答
191 浏览

objective-c - 目标 C:无法从 NSAppleScript 运行 zip 命令

这是我想从NSAppleScript运行的终端命令示例

我的代码:

调用上述函数:

例外:

0 投票
0 回答
179 浏览

macos - 在可可应用程序中异步执行两个applescript

我正在将所有 iwork 文档文件 OSX 类型转换为 Microsoft 文件类型,例如 .pages 到 .doc .keynotes 到 .pdf 和 .numbers 到 .xls。我为每种类型编写了 3 个不同的脚本,并使用可可应用程序(NSAppleScript、NSAppleEventDescriptor)的参数调用了一个事件。如果我连续调用所有脚本,它工作正常。但是,当我进行并发操作时,它的转换也只是一一发生。

我想打开所有三个文档并同时进行转换。如何实现这个问题的逻辑。

如何在 applescript 中执行异步操作。

任何人都可以提出一个解决方案,它会给我与 NSAppleScript、NSAppleScriptEventDescriptor 方法给我相同的行为吗?

0 投票
1 回答
268 浏览

swift - 使用沙盒发送 AppleEvent 失败

我尝试在 Calendar.app 中显示一个元素,以便激活日历并突出显示相应的事件。我知道该怎么做,但是一旦 Sandbox 开启,我就会得到

日历出现错误:发生特权冲突。

我的代码就是这样(甚至不尝试显示事件,而只是阅读一个日历):

我的权利看起来像这样:

我也尝试过使用脚本桥,但也失败了(信息较少,但可能是相同的原因)。