Project Directory

Philippe49Philippe49 Membre
22:23 modifié dans Xcode et Developer Tools #1
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 ?

Réponses

  • NoNo Membre
    22:23 modifié #2
    Je ne comprends pas...
    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 ? ? ?
  • Philippe49Philippe49 Membre
    22:23 modifié #3
    Oui, c'est cela,
    C'est pas courant comme besoin, certes, mais c'est cela.
  • Philippe49Philippe49 Membre
    22:23 modifié #4
    Pour l'instant , j'utilise

    NSString * currentDirectoryPath=[[NSFileManager defaultManager] currentDirectoryPath];
    NSString * projectDirectoryPath=[[currentDirectoryPath stringByDeletingLastPathComponent] stringByDeletingLastPathComponent];

    mais l'arborescence des projets pouvant changer ...
  • NoNo Membre
    22:23 modifié #5
    dans 1218638253:

    Oui, c'est cela,
    C'est pas courant comme besoin, certes, mais c'est cela.


    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 !
  • 22:23 modifié #6
    Tu peux ruser avec un
    [[[NSString stringWithUTF8String:__FILE__] stringByDeletingLastPathComponent] stringByAbbreviatingWithTildeInPath] mais bon fouf):

    A vérifier si c'est vraiment de l'UTF8.... :
  • AliGatorAliGator Membre, Modérateur
    22:23 modifié #7
    Oui je suis aussi sceptique que No.
    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é
  • Philippe49Philippe49 Membre
    22:23 modifié #8
    Non, rien d'idiot, simplement cela doit être assez rare.
    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 ...
  • Philippe49Philippe49 Membre
    août 2008 modifié #9
    dans 1218643799:

    Tu peux ruser avec un
    [[[NSString stringWithUTF8String:__FILE__] stringByDeletingLastPathComponent] stringByAbbreviatingWithTildeInPath] mais bon fouf):

    A vérifier si c'est vraiment de l'UTF8.... :


    __FILE__ c'est du C, donc cela marche. Merci Supermic

Connectez-vous ou Inscrivez-vous pour répondre.