2013-02-26 10 views
5

Pracuję nad aplikacją OSX, aw niej chciałbym się dowiedzieć, jaki jest katalog bieżący (tj. Katalog przechowujący plik .app).Katalog programu w Objective-C (OSX)

W tej chwili używam następujący kod:

NSString *dir=[[NSFileManager defaultManager] currentDirectoryPath]; 
[[NSAlert alertWithMessageText:@"dir" 
       defaultButton:@"OK" 
       alternateButton:nil 
        otherButton:nil 
    informativeTextWithFormat:dir] runModal]; 

Podczas pracy z Xcode (Run-przycisk), to daje mi katalog debugowania (które jest co szukam), ale po dwukrotnym kliknięciu aplikacji w Finderze (czyli w katalogu debugowania), daje mi to pewną zagadkę: /.

Dlaczego tak się dzieje i jak uzyskać niezawodny bieżący katalog?

Odpowiedz

7

To jest folder wiązki:

NSString *appPath = [[NSBundle mainBundle] bundlePath]; 

(reference).

+0

Dzięki, to było to, czego szukasz! (Właściwie nie _exactly_: Użyłem '[[[NSBundle mainbundle] bundlePath] stringByDeletingLastPathComponent]' aby uzyskać to, co chciałem :)) – tomsmeding

+1

@tomsmeding Ah tak, przegapiłem * hold * bit z "katalogu, który przechowuje .app -plik". – trojanfoe

2

Przy programowaniu w Apple Swift można uzyskać ścieżkę aplikacji z:

let pathtoapplication: String = NSBundle.mainBundle().bundlePath 
Powiązane problemy