一个简单且有用的库,用于在捆绑的 AppleScript 或 OSAScript 中使用您的 Objective-C 变量。
Apple 为 Cocoa 中的 AppleScript 提供了 NSAppleScript 和 OSAKit,但无法明确地从 Objective-C 代码中执行带有变量的脚本,除非您像这样执行一个长得离谱的 [NSString stringWithFormat:]
NSString *scriptString = [NSString stringWithFormat:@"\
tell application \"Wirecast\"\n\
set myDoc to last document \n\
set desired_shot to the shot named \"%@\" of myDoc\n\
set normal_layer to the layer named \"normal\" of myDoc\n\
set the active shot of normal_layer to the desired_shot\n\
end tell", shotName];
JCAppleScript 旨在提供一种简单、合理的添加 AppleScript 文件到您的 App 拼接包并在执行它们之前(可选地)将您的Objective-C变量插入脚本的简单方法。
如果有额外的功能或改进,请继续发行和提交拉取请求。
克隆仓库
$ git clone https://github.com/johnnyclem/JCAppleScript.git
将 JCAppleScript.h 和 JCAppleScript.m 文件拖到您的 Xcode 项目中,确保勾选将 JCAppleScript 添加到您的 App 的目标(s)
在您的 Objective-C 类中导入 JCAppleScript
#import "JCAppleScript
[JCAppleScript appleScript:@"tell application \"Finder\"\n\
display dialog \"Hello World\"\n\
end tell"];
[JCAppleScript runAppleScript:@"MyScript"];
tell application "Finder"
display dialog $0 $1
end tell
NSArray *myVariables = [NSArray arrayWithObjects:@"Hello", @"World", nil];
[JCAppleScript runAppleScript:@"MyScript" withVariables:myVariables;