2010-02-22 8 views

Répondre

6

Je suppose que par /Applications/Utils/MyTool, vous voulez dire une application nommée « MyTool » dans le répertoire « Utils » dans le répertoire « Application » (qui est en fait le chemin /Applications/Utils/MyTools.app). Dans ce cas, vous pouvez obtenir le répertoire dans lequel réside l'application (/Applications/Utils) avec le bit de code suivant:

NSString *appParentDirectory = [[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent]; 
+0

Correct! Pour une raison étrange, j'ai décidé de supposer que NSBundle était sous le Cocoa Framework. Merci – Riaz

+1

Il semble que NSBundle devrait être dans AppKit, puisque les applications de ligne de commande n'ont normalement pas de paquets; mais comme vous l'avez clairement découvert, une application de ligne de commande * peut * avoir un bundle, donc je suppose que c'est pourquoi NSBundle fait partie du kit Foundation à la place. – mipadi

6

Appelez-moi un puriste - ou un faisceau misanthrope - si vous devez .. mais Je "aime"

NSString *myLittleCLIToolPath = NSProcessInfo.processInfo.arguments[0];

Questions connexes