假设在 xCode 项目的资源文件夹中有一个名为 copystuff 的文件,并且该文件内容如下:
#!/bin/sh
cp -R /Users/someuser/Documents /Users/admin/Desktop
如果下面这段代码与IB中的按钮链接在一起...当Cocoa应用程序中的按钮被按下时,它将把/Users/someuser/Documents目录复制到/Users/admin... 在管理员帐户中启动应用程序时(在这里使用OS X 10.5.x)它是有效的...
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/sh"];
[task setArguments:[NSArray arrayWithObjects:[[NSBundle mainBundle]
pathForResource:@"copystuff" ofType:@"sh"], nil]];
[task launch];
我的问题是,是否有一种方法可以让NSTask在非管理员帐户调用此代码时运行作为root运行的脚本?或者换句话说,Objective-C能否编码以在非管理员帐户下作为root从/usr/bin运行脚本?