Skip navigation.
 
mlRe: Launching Cocoa Application externally
FROM : Douglas Davidson
DATE : Thu May 15 20:49:15 2008

On May 15, 2008, at 11:45 AM, Jens Alfke wrote:

>> The problem was that I access a file (without proper error-
>> handling; I will add that now :-)). The default working directory 
>> is the main-bundle path when run from within XCode and it is "/" 
>> when run from Finder.
>>
>> I repaired this by adding
>> [[NSFileManager defaultManager] changeCurrentDirectoryPath:
>>    [[[NSBundle mainBundle] bundlePath] 
>> stringByDeletingLastPathComponent]];
>> to my awakeFromNib. I hope this works as I intend.

>
>
> That will work, although if any other -awakeFromNib method (of an 
> object in that nib) wants to use a relative path, you have a race 
> condition, because the order in which -awakeFromNib methods are 
> called is, basically, random.
>
> But it's better to just avoid using relative paths, if possible. If 
> you're accessing a file inside your bundle, you should use the 
> NSBundle resource APIs to get its location.


Let me echo what Jens said.  The cwd is for command-line tools; don't 
use it, or anything that relies on it, in an application context, if 
you can do anything to avoid it.

Douglas Davidson

Related mailsAuthorDate
mlLaunching Cocoa Application externally Yann Disser May 14, 15:48
mlRe: Launching Cocoa Application externally Stéphane May 14, 15:55
mlRe: Launching Cocoa Application externally Jean-Daniel Dupas May 14, 16:20
mlRe: Launching Cocoa Application externally Jens Alfke May 14, 16:47
mlRe: Launching Cocoa Application externally Yann Disser May 14, 17:13
mlRe: Launching Cocoa Application externally Andy Lee May 14, 17:30
mlRe: Launching Cocoa Application externally Stuart Malin May 14, 19:56
mlRe: Launching Cocoa Application externally Jean-Daniel Dupas May 14, 20:55
mlRe: Launching Cocoa Application externally Yann Disser May 15, 18:42
mlRe: Launching Cocoa Application externally Jean-Daniel Dupas May 15, 18:48
mlRe: Launching Cocoa Application externally Sherm Pendley May 15, 18:56
mlRe: Launching Cocoa Application externally Jens Alfke May 15, 20:45
mlRe: Launching Cocoa Application externally Douglas Davidson May 15, 20:49