Re: Launch Path Not Accessible

2008-08-02 Thread Omar Qazi

Steve:
You don't need to chmod the file NSTask is really meant for executing
Mach-I executables, so the launch path needs to be the interpreter.
For example, if this is a ruby script your launch path would be /usr/
bin/ruby and your first argument would be the first argument. If it's
a shell script you would use /bin/sh and the script would be the first
argument (and so on and so fourth).

Omar Qazi
Hello, Galaxy
1.310.294.1593

On Aug 2, 2008, at 2:19 PM, "Steve Cronin" <[EMAIL PROTECTED]> wrote:

> Andrew:
>
> Thanks for the slap on the head!
> So I chmod'ed the file and no longer get the 'not accessible error'
> YEAH!
>
> BUT now I get:
> *** NSTask: Task create for path '/Users/steve/Library/Application
> Support/XYZ/Scripts/myUseful.o' failed: 88, "Malformed Mach-o file"
>
> So I must be missing something about the contents of script files.
> Here's my script:
>
> myUseful.m
> #import 
> int main(int argc, char **argv)
> {
>char dummy;
>read(STDIN_FILENO, &dummy, 1);
>[NSAutoreleasePool new];
>NSURL *url = [NSURL fileURLWithPath:[NSString
> stringWithUTF8String:argv[1]]];
>LSOpenCFURLRef((CFURLRef)url, NULL);
>return 0;
> }
>
> You will just have to trust me that I DO need to launch the file in
> this manner.
> What do I need to do to this file to make it into the correct format?
>
> THANKS AGAIN for the chmod help!
> Steve
>
> On Aug 2, 2008, at 3:26 PM, Andrew Farmer wrote:
>
>> On 02 Aug 08, at 13:01, Steve Cronin wrote:
>>> I'm trying to do something that seems like it should be easy, but
>>> I'm stymied by what I think is a permissions error I don't
>>> understand.
>>>
>>> I'm trying to run a script using NSTask.
>>> I have the static script stored as a separate file in my bundle.
>>> I have created a folder in my "Applications Support" directory
>>> called "Scripts" and copied my script and several items into this
>>> directory.
>>> Note that this has a space in the full pathname!
>>>
>>> SO I have tried the following:
>>> NSString *myScriptPath = [[self scriptsFolderPath]
>>> stringByAppendingPathComponent:@"myUseful.script"];  //yes I have
>>> verified this is a valid path!!!
>>> NSTask *task = [[[NSTask alloc] init] autorelease];
>>> [task setLaunchPath: myScriptPath];
>>> [task setArguments:[NSArray arrayWithObject:...]];
>>> [task setStandardInput:[NSPipe pipe]];
>>> [task launch];
>>>
>>> ERRROR: launch path not accessible
>>
>> Are you sure myUseful.script is directly executable? Just because
>> it's double-clickable in the Finder doesn't mean it's executable...
>> if this is an AppleScript, though, you may have better luck working
>> with NSAppleScript.
>>
>>> So, thinking that the 'space' maybe wanking out the
>>> 'setLaunchPath' I tried to convert to a 'safe' url path:
>>> NSURL *myScriptFileURL = [NSURL fileURLWithPath:t];
>>> ...
>>> [task setLaunchPath:[myScriptFileURL absoluteString]];
>>


smime.p7s
Description: S/MIME cryptographic signature
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Re: Launch Path Not Accessible

2008-08-02 Thread Michael Ash
On Sat, Aug 2, 2008 at 5:20 PM, Steve Cronin <[EMAIL PROTECTED]> wrote:
> Andrew:
>
> Thanks for the slap on the head!
> So I chmod'ed the file and no longer get the 'not accessible error'  YEAH!
>
> BUT now I get:
> *** NSTask: Task create for path '/Users/steve/Library/Application
> Support/XYZ/Scripts/myUseful.o' failed: 88, "Malformed Mach-o file"

Somehow you're building an object file, not an executable. If you're
building in Xcode, you'll want to use the "CoreFoundation Tool"
project template, or the Carbon->Shell Tool target template. If you're
not building in Xcode, build in Xcode.

> So I must be missing something about the contents of script files.
> Here's my script:
>
> myUseful.m
> #import 
> int main(int argc, char **argv)
> {
>char dummy;
>read(STDIN_FILENO, &dummy, 1);
>[NSAutoreleasePool new];
>NSURL *url = [NSURL fileURLWithPath:[NSString
> stringWithUTF8String:argv[1]]];
>LSOpenCFURLRef((CFURLRef)url, NULL);
>return 0;
> }
>
> You will just have to trust me that I DO need to launch the file in this
> manner.
> What do I need to do to this file to make it into the correct format?

Does it take that much extra effort to explain that this tool is to
facilitate relaunching your application? It's a pretty standard
technique, and avoids the inevitable "this makes no sense!" reaction
from the "trust me".

Mike
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Launch Path Not Accessible

2008-08-02 Thread Steve Cronin

Andrew:

Thanks for the slap on the head!
So I chmod'ed the file and no longer get the 'not accessible error'   
YEAH!


BUT now I get:
*** NSTask: Task create for path '/Users/steve/Library/Application  
Support/XYZ/Scripts/myUseful.o' failed: 88, "Malformed Mach-o file"


So I must be missing something about the contents of script files.
Here's my script:

myUseful.m
#import 
int main(int argc, char **argv)
{
char dummy;
read(STDIN_FILENO, &dummy, 1);
[NSAutoreleasePool new];
	NSURL *url = [NSURL fileURLWithPath:[NSString  
stringWithUTF8String:argv[1]]];

LSOpenCFURLRef((CFURLRef)url, NULL);
return 0;
}

You will just have to trust me that I DO need to launch the file in  
this manner.

What do I need to do to this file to make it into the correct format?

THANKS AGAIN for the chmod help!
Steve

On Aug 2, 2008, at 3:26 PM, Andrew Farmer wrote:


On 02 Aug 08, at 13:01, Steve Cronin wrote:
I'm trying to do something that seems like it should be easy, but  
I'm stymied by what I think is a permissions error I don't  
understand.


I'm trying to run a script using NSTask.
I have the static script stored as a separate file in my bundle.
I have created a folder in my "Applications Support" directory  
called "Scripts" and copied my script and several items into this  
directory.

Note that this has a space in the full pathname!

SO I have tried the following:
NSString *myScriptPath = [[self scriptsFolderPath]  
stringByAppendingPathComponent:@"myUseful.script"];  //yes I have  
verified this is a valid path!!!

NSTask *task = [[[NSTask alloc] init] autorelease];
[task setLaunchPath: myScriptPath];
[task setArguments:[NSArray arrayWithObject:...]];
[task setStandardInput:[NSPipe pipe]];
[task launch];

ERRROR: launch path not accessible


Are you sure myUseful.script is directly executable? Just because  
it's double-clickable in the Finder doesn't mean it's executable...  
if this is an AppleScript, though, you may have better luck working  
with NSAppleScript.


So, thinking that the 'space' maybe wanking out the 'setLaunchPath'  
I tried to convert to a 'safe' url path:

NSURL *myScriptFileURL = [NSURL fileURLWithPath:t];
...
[task setLaunchPath:[myScriptFileURL absoluteString]];


Nope. NSTask takes a filesystem path, not a URL.


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Re: Launch Path Not Accessible

2008-08-02 Thread Andrew Farmer

On 02 Aug 08, at 13:01, Steve Cronin wrote:
I'm trying to do something that seems like it should be easy, but  
I'm stymied by what I think is a permissions error I don't understand.


I'm trying to run a script using NSTask.
I have the static script stored as a separate file in my bundle.
I have created a folder in my "Applications Support" directory  
called "Scripts" and copied my script and several items into this  
directory.

Note that this has a space in the full pathname!

SO I have tried the following:
NSString *myScriptPath = [[self scriptsFolderPath]  
stringByAppendingPathComponent:@"myUseful.script"];  //yes I have  
verified this is a valid path!!!

NSTask *task = [[[NSTask alloc] init] autorelease];
[task setLaunchPath: myScriptPath];
[task setArguments:[NSArray arrayWithObject:...]];
[task setStandardInput:[NSPipe pipe]];
[task launch];

ERRROR: launch path not accessible


Are you sure myUseful.script is directly executable? Just because it's  
double-clickable in the Finder doesn't mean it's executable... if this  
is an AppleScript, though, you may have better luck working with  
NSAppleScript.


So, thinking that the 'space' maybe wanking out the 'setLaunchPath'  
I tried to convert to a 'safe' url path:

NSURL *myScriptFileURL = [NSURL fileURLWithPath:t];
...
[task setLaunchPath:[myScriptFileURL absoluteString]];


Nope. NSTask takes a filesystem path, not a URL.
___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]


Launch Path Not Accessible

2008-08-02 Thread Steve Cronin

Folks;

I'm trying to do something that seems like it should be easy, but I'm  
stymied by what I think is a permissions error I don't understand.


I'm trying to run a script using NSTask.
I have the static script stored as a separate file in my bundle.
I have created a folder in my "Applications Support" directory called  
"Scripts" and copied my script and several items into this directory.

Note that this has a space in the full pathname!

SO I have tried the following:
NSString *myScriptPath = [[self scriptsFolderPath]  
stringByAppendingPathComponent:@"myUseful.script"];  //yes I have  
verified this is a valid path!!!

NSTask *task = [[[NSTask alloc] init] autorelease];
[task setLaunchPath: myScriptPath];
[task setArguments:[NSArray arrayWithObject:...]];
[task setStandardInput:[NSPipe pipe]];
[task launch];

ERRROR: launch path not accessible

So, thinking that the 'space' maybe wanking out the 'setLaunchPath' I  
tried to convert to a 'safe' url path:

NSURL *myScriptFileURL = [NSURL fileURLWithPath:t];
...
[task setLaunchPath:[myScriptFileURL absoluteString]];

Same error!

The docs don't make it clear TO ME why I would need special  
permissions to launch a script in my own "App Support" directory.

Am I out in the weeds chasing the wrong rabbits?

Any guidance appreciated!
Steve



___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]