Ścieżka uruchomienia NSTask jest niedostępna. Działa w Xcode. Wystąpił błąd z XCode

Dobrze. Istnieje kilka pytań na temat przepełnienia stosu.To pytanie było jedynym pytaniem jest najbliżej kopalni, ale używa powiadomień.

Kod jest bardzo prosty. Utwórz nowy pusty projekt Mac OSX i po prostu wklej następujący kod wapplicationDidFinishLaunching: metoda. Powinien uzyskać ścieżkę dowolnego pliku wykonywalnego (w tym przypadku GIT).

NSTask *aTask = [[NSTask alloc] init];
NSPipe *outputPipe = [NSPipe pipe];
NSPipe *errorPipe = [NSPipe pipe];

[aTask setStandardOutput: outputPipe];
[aTask setStandardError: errorPipe];
[aTask setArguments:[NSArray arrayWithObject:@"which"]];
[aTask setLaunchPath:@"/usr/bin/git"];

NSFileHandle *outputFileHandler = [outputPipe fileHandleForReading];
NSFileHandle *errorFileHandler = [errorPipe fileHandleForReading];

[aTask launch];
[aTask waitUntilExit];

// Task launched now just read and print the data
NSData *data = [outputFileHandler readDataToEndOfFile];
NSString *outPutValue = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];

NSData *errorData = [errorFileHandler readDataToEndOfFile];
NSString *errorValue = [[NSString alloc] initWithData:errorData encoding:NSUTF8StringEncoding];

NSLog(@"Error value: %@",errorValue);
NSLog(@"Output Value: %@",outPutValue);

Ten kod ustawia dwie rury odczytu i uruchamia jedno polecenie:which git.

Jeśli uruchomię to w XCode, otrzymam następujące wyniki:

Error value: ""  
Output Value: /usr/bin/git

Jeśli przejdę do mojego folderu budowania / produktów / debugowania i dwukrotnie kliknę plik wykonywalny, otrzymam ten komunikat w aplikacji konsoli:

Pytanie: Więc jaki jest naprawdę problem? proszę, nie rób alternatywnego rozwiązania ... Chcę też wiedzieć, na czym polega problem .. dzięki.

questionAnswers(1)

yourAnswerToTheQuestion