将AppleScript转换为Objective-C

时间:2013-07-21 11:17:59

标签: objective-c cocoa applescript nstask

我是Objective-C的新手,我正在尝试将AppleScript转换为Objective-C。使用AStranslate,我收到错误Untranslated event 'sysoexec'

以下是我要翻译的AppleScript:

do shell script "/System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession -suspend"

我在Google上搜索过,人们说NSTask可以用来模拟终端运行命令。我已经尝试了几个小时,但无法弄清楚如何使用NSTask。有人可以帮我翻译AppleScript吗?

感谢, 我想要的是有一个按钮来运行这个终端命令而不是使用applescript。

我仍然接受目标C的第一次演讲......

我试试这个似乎不起作用

@implementation hopethiswork

- (IBAction)press:(id)sender {

    NSTask *a = [[NSTask alloc] init];

    [a setLaunchPath:@"/System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession"];
    [a setArguments:[NSArray arrayWithObject:@"-suspend"]];
    [a launch];

}
@end

1 个答案:

答案 0 :(得分:2)

NSTask *a = [[NSTask alloc] init];
[a setLaunchPath:@"/System/Library/CoreServices/'Menu Extras'/User.menu/Contents/Resources/CGSession"];
[a setArguments:[NSArray arrayWithObject:@"-suspend"]];
[a launch];