NSTask を含むメソッドに非常に奇妙な問題があります。10.7以降では、機能は完全に正常に機能し、正常に実行され、結果が返され、ファイルが目的のディレクトリにコピーされます。
私のアプリケーションを 10.6.8 で試してみると、NSTask はまったく何もしていないように見えます。問題がどこにあるかを判断するためにあらゆる角度から試してみましたが、可能性がありませんでした。:-/
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath: @"/bin/sh"];
NSArray *arguments = [NSArray arrayWithObjects: @"-c",
@"find /Data/*.jug/files/ -name thefile | head -n 1 | awk -v dir=\"$HOME/path/to/copy/to\" '{printf \"cp \\\"%s\\\" \\\"%s\\\"\\n\", $1, dir }' | sh", nil];
[task setArguments: arguments];
NSPipe *thePipe = [NSPipe pipe];
[task setStandardInput:[NSPipe pipe]];
[task setStandardOutput:thePipe];
[task launch];
[task waitUntilExit];
[task release];
10.6.8 でターミナル経由でコマンドを試すと、アプリケーションで期待される結果が返されます。私はここで完全に途方に暮れており、誰かがこの問題とその修正方法に光を当ててくれることを本当に願っています.