Project Directory
Philippe49
Membre
Je cherche à récupérer le chemin d'accès du répertoire où se trouve le projet lui-même.
Quelque chose comme [defaultManager projectDirectoryPath] comme il existe [defaultManager currentDirectoryPath]
Y-a-t-il un moyen autre que de remonter à partir du currentDirectory ?
Quelque chose comme [defaultManager projectDirectoryPath] comme il existe [defaultManager currentDirectoryPath]
Y-a-t-il un moyen autre que de remonter à partir du currentDirectory ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu recherches une méthode cocoa qui te permettrai de récupérer le chemin du répertoire dans lequel se trouverait le projet (Xcode ou non...) qui a compilé l'appli exécutant ladite méthode ? ? ?
C'est pas courant comme besoin, certes, mais c'est cela.
NSString * currentDirectoryPath=[[NSFileManager defaultManager] currentDirectoryPath];
NSString * projectDirectoryPath=[[currentDirectoryPath stringByDeletingLastPathComponent] stringByDeletingLastPathComponent];
mais l'arborescence des projets pouvant changer ...
Excuse moi, mais c'est surtout... idiot comme question.
Car cela suppose :
1. que l'appli soit compilée au sein d'un projet.
2. que ce chemin soit enregistré dans l'exécutable.
3. que le projet soit sur la même machine que l'appli qui est exécutée.
De plus, ce n'est surtout pas au niveau du NSFileManager (d'où provient defaultManager de ton exemple), axé sur le système de fichier et non sur le fichier lui-même que cela pourrait être possible, mais plutôt au niveau du mainBundle (qui peut renvoyer un certain nombre de cehemins spécifiques à une appli).
De toute façon, si je compile une appli sur ma machine, puis que je la distribue, je ne vois pas comment pourrait être valide ce chemin !
[[[NSString stringWithUTF8String:__FILE__] stringByDeletingLastPathComponent] stringByAbbreviatingWithTildeInPath] mais bon fouf):
A vérifier si c'est vraiment de l'UTF8.... :
A part vraiment dans un super rare cas très occasionnel et ponctuel de debug de ton appli, juste le temps de pour 10 minutes, et après tu l'enlèves... et encore, bon.
Parce que ton projet Xcode te permet de créer un exécutable, donc au final d'avoir ton appli (encapsulée dans un bundle qui va bien et tout), mais cette appli une fois compilée tu peux la mettre un peu ou tu veux*, et d'ailleurs à fortiori tu vas la distribuer à d'autres personnes (qui n'auront pas ton projet voire même pas Xcode), la mettre sur internet, ... et là y'a un lien vers ton projet xcodeproj n'a plus de sens du tout du coup
*sauf peut-être si tu as utilisé zerolink j'imagine... donc en mode Debug zerolink, peut-être qu'on ne peux pas la déplacer je sais pas j'ai jamais essayé
Je veux faire une application qui prennent mes fichiers sources et les affichent (tuto-application)
Pour cela j'ai besoin de transférer mes fichiers sources en ressources de l'application en mode debug.
En mode release, évidemment, je supprimerais cette fonctionnalité, les sources étant en ressources localisées ...
__FILE__ c'est du C, donc cela marche. Merci Supermic