安装首选项窗格时运行安装脚本

时间:2011-10-05 15:45:06

标签: objective-c cocoa

我编写了一个ruby脚本,我现在正在寻找在首选项窗格中包装以便配置我的ruby脚本。现在我希望有一种方法让我在安装这个首选项窗格时运行一些任意命令,以便安装必要的ruby gems等,但是我似乎无法在任何地方找到关于这种功能的任何文档。 / p>

任何想法都会受到赞赏。

干杯 尼克

1 个答案:

答案 0 :(得分:0)

您可以调用一个ruby脚本,为您执行任何必要的配置。如果您需要它来安装gem,您可能需要使用提升的权限运行它。这就是我过去的做法:

// Get the path to the helper script from the main app bundle
NSBundle *appBundle = [NSBundle mainBundle];
NSString *scriptPath = [appBundle pathForResource: @"helperScript" 
                                           ofType: @"rb"];

// Construct the applescript command to run to helper script with elevated privileges
NSString *scriptCommand = [NSString stringWithFormat: @"do shell script \"ruby '%@'\" with administrator privileges", scriptPath];

// Execute the helper script via Applescript, log any errors
NSAppleScript *executeRubyScript = [[NSAppleScript alloc] initWithSource: scriptCommand];
NSDictionary *error = [[NSDictionary alloc] init];
[executeRubyScript executeAndReturnError: &error];
[executeRubyScript release];