Re: NSTask: program launching another program, potential problem with path: how to do?
Re: NSTask: program launching another program, potential problem with path: how to do?
- Subject: Re: NSTask: program launching another program, potential problem with path: how to do?
- From: Keary Suska <email@hidden>
- Date: Thu, 10 Apr 2014 07:23:26 -0600
On Apr 10, 2014, at 6:57 AM, Colas B wrote:
> Dear cocoa-dev,
>
> I want to do with an `NSTask` what I am able to do in the terminal via
>
> $ myprogram myfile.ext
>
> I know that `myprogram` (I don't have any control on this program) launches another program `myauxprogram`. Furthermore, the path to `myprogram` is `path1` and the path to `myprogram` is `path2`.
>
> If I do
>
> NSTask * myTask = [[NSTask alloc] init];
>
> NSArray * arguments = @[@"myfile.ext"] ;
>
> [myTask setCurrentDirectoryPath:[URLOfTheFolder path]];
> [myTask setLaunchPath:@"/path1/myprogram"];
> [myTask setArguments:arguments];
>
> [myTask launch] ;
>
> I get the following error `sh: myauxprogam: command not found`
>
> If I create a symbol link in `path1` to `myauxprogram`, the problem is the same.
>
> How is it that when I execute the program in a terminal, everything goes well but via NSTask it fails? How can I solve this problem?
This is more likely a shell scripting issue, rather than am NSTask issue, unless sandboxing is somehow interfering, and you are obscuring the issue by not telling us at least how myprogram is locating myauxprogram. The most likely culprit is that the invocation of myauxprogram in myprogram is a relative path that relies on the PATH environment variable that is properly set by the shell, but you don't set in NSTask.
HTH,
Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden