【发布时间】:2012-08-10 08:21:48
【问题描述】:
是否可以通过可可“自动”协同设计捆绑包,而无需用户每次都输入他们的管理员用户名和密码?
如果有某种方法可以实现这一点,我们将不胜感激某些类型的工作示例。这是我目前正在使用的代码,它在执行时要求管理员积分:
- (void)codeSignature:(NSData *)privateKey {
NSString* signSomething = @"file";
NSString* homeDir = [NSHomeDirectory() stringByAppendingPathComponent:@"/Users/Rufote"];
NSString* homePath = [homeDir stringByAppendingPathComponent:signSomething];
NSTask *task;
task = [[NSTask alloc] init];
[task setLaunchPath: @"/usr/bin/codesign"];
NSArray *args;
args = [NSArray arrayWithObjects: @"-s", @"certificate", @"-vvvv", @"-f", homePath, nil];
[task setArguments: args];
NSPipe *pipe;
pipe = [NSPipe pipe];
[task setStandardOutput: pipe];
NSFileHandle *file;
file = [pipe fileHandleForReading];
[task launch];
NSData *data;
data = [file readDataToEndOfFile];
NSString *string;
string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];
[string release];
[task release];
return;
}
@end
【问题讨论】:
-
这个问题实际上是关于访问 MacOS X 钥匙串的方法——它存储你的证书和私钥——所以它的文档将是一个很好的起点。
-
@Marko - 我刚刚读完你提到的钥匙串文档,它没有告诉我如何完成我想做的事情。 [developer.apple.com/library/mac/#documentation/security/…
标签: objective-c cocoa nstask codesign