2

是否可以通过可可“自动”协同设计捆绑包,而无需用户每次都输入他们的管理员用户名和密码?
如果有某种方法可以实现这一点,那么将不胜感激某种类型的工作示例。这是我目前正在使用的代码,它在执行时要求管理员积分:

- (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
4

2 回答 2

1

在您的系统钥匙串上,您会发现与您的代码签名相关的 3 件事: - 您的证书 - 您的私钥(与您的证书同名) - 您的公钥(与您的证书同名)

如果你双击你的钥匙,在访问控制上,你可以选择“允许所有应用程序访问这个项目”。那么您将不必再输入管理员密码来进行代码签名,但要注意安全风险

于 2013-08-17T23:49:53.067 回答
0

无法访问 Keychain 的数据。

但是,既然您想对您的 Bundle 进行代码设计,那么您可以使用xcodebuildxcrun命令编写 Apple/Shell 脚本,这将有助于自动化您的代码设计过程。

于 2012-08-10T17:18:55.470 回答