我在XCode 9.2,Objective-C,MacOS上
我正在寻找有关使用osakit的任何示例。框架来执行脚本文件(applescript=.scpt或.applescript)或该文件中的方法,其中包含参数以及如何获取响应。
我自己的applescript实现工作正常,但内存泄漏太多,所以我想试试osakit。但是它的文档很糟糕。
简单的实现如下
OSAScript *scriptNAME= [[OSAScript alloc] initWithSource:@"tell application \"Firefox\" to return name of window 1"];
NSDictionary * errorDict = nil;
NSAppleEventDescriptor * returnDescriptor = [scriptNAME executeAndReturnError: &errorDict];
NSLog(@"%@", returnDescriptor);
但我想加载脚本文件,而不是将脚本作为文本形式的源。
编辑:
我试过了
OSAScript *scriptNAME= [[OSAScript alloc] initWithContentsOfURL:myScriptURL error:&error];
脚本已加载,但我无法调用任何方法。
我有两个简单的方法
on test()
display dialog "Hello World"
end
on testWithArguments:arg
display dialog (arg's item 1)
end
对我尝试的第二种方法的调用:
[scriptNAME executeHandlerWithName:@"testWithArguments" arguments:@[@"Hello World"] error:&errorDict];
-- doesnt work
[scriptNAME executeHandlerWithName:@"testWithArguments:" arguments:@[@"Hello World"] error:&errorDict];
-- doesnt work