objective-c - 从 Cocoa 应用程序运行 AppleScript

标签 objective-c cocoa applescript

是否可以在 Cocoa 应用程序中运行 AppleScript 代码?

我试过 NSAppleScript 类,但没有成功。

此外,Apple 允许这样做吗?

最佳答案

解决了!

Xcode 没有将我的脚本文件保存到应用程序的资源路径中。要从 Cocoa 应用程序运行 AppleScript 代码,请使用:

NSString *path = [[NSBundle mainBundle] pathForResource:@"ScriptName" ofType:@"scpt"];
NSURL *url = [NSURL fileURLWithPath:path];NSDictionary *errors = [NSDictionary dictionary];
NSAppleScript *appleScript = [[NSAppleScript alloc] initWithContentsOfURL:url error:&errors];
[appleScript executeAndReturnError:nil];

swift 5.6.1:

import AppleScriptObjC
import Cocoa

let path = Bundle.main.path(forResource: "ScriptName", ofType: "scpt")
let url = URL(fileURLWithPath: path ?? "")
var errors: [AnyHashable : Any] = [:]
let appleScript = NSAppleScript(contentsOf: url, error: &errors)
appleScript?.executeAndReturnError(nil)

关于objective-c - 从 Cocoa 应用程序运行 AppleScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4909702/

相关文章:

ios - UIView 的 initWithFrame

ios - FMDB 错误 - 未知列名

ios - 带有 @tags 的 UITextView 和视觉效果背后的隐藏信息

objective-c - 无法将自定义 View 从 nib 加载到另一个以编程方式制作的 View 中?

xcode - 阿拉伯语 NSString 显示 Xcode 调试器和日志之间不同的字母顺序

cocoa - 如何从子菜单中获取 NSMenuItem?

objective-c - 处理 NSStatusItem 上的 onMouseOver 和 onMouseOut

AppleScript 获取提醒中的事件列表?

python - 使用正则表达式(或类似的)通过脚本更改 itunes 中的歌曲名称(或其他标签)

ios - 如何从 Mac OS X 应用程序获取 iPod/iPhone iOS 版本?