我正在使用库STPrivilegedTask库,该库位于http://www.sveinbjorn.org/STPrivilegedTask,可使用sudo权限运行NSTask。
这是我用来实例化STPrivilegedTask对象的代码,但出现语法错误:STPrivilegedTask *task2 = [[STPrivilegedTask alloc] initWithLaunchPath: launchPath: arguments];
我收到“实例方法的接收器类型STPrivilegedTask没有声明方法...”错误。上面的语法有效吗?
谢谢,
最佳答案
不是Objective-C的专家,但是如果我没记错的话,您应该这样称呼它:
STPrivilegedTask *task2 = [[STPrivilegedTask alloc] initWithLaunchPath: launchPath
arguments:arguments];
(假设方法中的
arguments
是您的NSArray),因为该方法的声明为:- (id)initWithLaunchPath: (NSString *)path arguments: (NSArray *)args;
^^^ Part of the method signature
并不是
- (id)initWithLaunchPath: (NSString *)path : (NSArray *)args;
这是您添加的链接中的
.m
文件中的示例:STPrivilegedTask *task = [[[STPrivilegedTask alloc] initWithLaunchPath: path arguments: args] autorelease];