2013-02-26 11 views
5

Sto sviluppando un'applicazione OSX e al suo interno vorrei sapere qual è la directory corrente (ovvero la directory che contiene .app-file).Directory del programma in Objective-C (OSX)

Al momento, sto utilizzando il seguente codice:

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

Quando si esegue da Xcode (Run-tasto), questo mi dà la directory di debug (che è quello che sto cercando), ma quando si fa doppio clic sull'app in Finder (quindi, nella directory di debug), mi sta dando il / che mi imbarazza.

Perché ciò accade e come posso ottenere la directory corrente in modo affidabile?

risposta

7

Questa è la cartella di bundle:

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

(reference).

+0

Grazie, questo era quello che stavo cercando! (In effetti, non _exactly_: ho usato '[[[NSBundle mainbundle] bundlePath] stringByDeletingLastPathComponent]' per ottenere quello che volevo :)) – tomsmeding

+1

@tomsmeding Ah sì, ho perso il * hold * bit da "la directory che contiene .app -file". – trojanfoe

2

Quando si programma a Apple Swift si otterrà il percorso di applicazione con:

let pathtoapplication: String = NSBundle.mainBundle().bundlePath 
Problemi correlati