使用NSTask启动Ruby脚本(深圳)

时间:2013-09-24 10:10:24

标签: objective-c ruby xcode

我正在尝试使用深圳脚本生成IPA:https://github.com/nomad/shenzhen

以下是我目前的代码:

-(void)startBuildIPAForProject:(NSString*)path
{
    task = [[NSTask alloc] init];
    [task setLaunchPath:@"/bin/bash"];
    [task setCurrentDirectoryPath:path];
    [task setArguments:@[@"ipa build",@"-c",@"Release"]];

    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];
    NSLog(@"task output: %@",string);

    [task waitUntilExit];
}

执行[任务启动]时,我从控制台获得以下输出:

/bin/bash: ipa build: No such file or directory

当我使用常规终端ipa构建工作时(也就是说,它告诉我当前目录中没有Xcode项目)

我有点失落,所以非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

ipa脚本需要位于应用程序的PATH环境变量中(或与二进制文件位于同一目录中)。一个简单的解决方法是指定{{的完整绝对路径。 1}}在你的论点中。即改变:

ipa

[task setArguments:@[@"ipa build",@"-c",@"Release"]];