NSTask NSPipe - ayuda de la línea de comandos del objetivo c

Aquí está mi código:

task = [[NSTask alloc] init];
[task setCurrentDirectoryPath:@"/applications/jarvis/brain/"];
[task setLaunchPath:@"/applications/jarvis/brain/server.sh"];

NSPipe * out = [NSPipe pipe];
[task setStandardOutput:out];

[task launch];
[task waitUntilExit];
[task release];

NSFileHandle * read = [out fileHandleForReading];
NSData * dataRead = [read readDataToEndOfFile];
NSString * stringRead = [[[NSString alloc] initWithData:dataRead encoding:NSUTF8StringEncoding] autorelease];

Entonces estoy tratando de replicar esto:

cd /applications/jarvis/brain/
./server.sh

pero usando NSTask en el objetivo-c.

Sin embargo, por alguna razón, cuando ejecuto este código, stringRead, no devuelve nada. Debería devolver qué terminal está volviendo cuando ejecuto el archivo .sh. ¿Correcto?

¿Algunas ideas?

Elijah

Respuestas a la pregunta(1)

Su respuesta a la pregunta