103 votes

Impossible d'ouvrir le projet... ne peut pas être ouvert car le fichier du projet ne peut pas être analysé.

Je travaille depuis un certain temps à la création d'une application iPhone. Aujourd'hui, alors que ma batterie était faible, je travaillais et sauvegardais constamment mes fichiers sources, puis l'électricité s'est coupée...

Maintenant, lorsque j'ai rebranché mon ordinateur et qu'il reçoit une bonne alimentation, j'essaie d'ouvrir mon fichier de projet et j'obtiens une erreur :

Impossible d'ouvrir le projet

Le projet ... ne peut pas être ouvert car le fichier du projet ne peut pas être analysé.

Y a-t-il un moyen connu pour que je puisse récupérer cette situation ? J'ai essayé d'utiliser un ancien fichier de projet et de le réinsérer, puis de compiler. Il me donne une erreur funky qui est probablement parce qu'il ne trouve pas tous les fichiers qu'il veut...

Je ne veux vraiment pas reconstruire mon projet à partir de zéro si possible.


EDITAR

Ok, j'ai fait une comparaison entre ce fichier et un fichier de projet légèrement plus ancien qui fonctionnait et j'ai vu qu'il y avait une certaine corruption dans le fichier. Après les avoir fusionnés (la bonne partie et la partie la plus récente), cela fonctionne maintenant.

Excellentes remarques sur le SVN. J'en ai un, mais il y a eu quelques problèmes en essayant de synchroniser XCode avec lui. Je vais certainement passer plus de temps avec lui maintenant ... ;-)

enter image description here

7voto

beseder Points 1192

Analysez la syntaxe de votre fichier de projet. Vérifiez-la à l'intérieur de votre projet dans le terminal :

plutil -lint project.pbxproj

Cela vous montrera les erreurs de l'analyseur syntaxique.

Problème éventuel : Certains projets définissent une stratégie de fusion git union pour les fichiers de projet. Cette stratégie fonctionne la plupart du temps, mais tue silencieusement votre fichier de projet si elle échoue. Cette stratégie est définie dans le fichier .gitattributes dans votre référentiel.

3voto

Abhi Points 141

J'ai rencontré le même problème récemment en essayant de fusionner ma branche avec une branche distante. Cependant, aucune des solutions ci-dessus ne semblait convenir à mon problème.

Il n'y avait aucun conflit de fusion entre le fichier project.pbxproj de ma branche et celui de la branche distante. Cependant, mon fichier projectName.xcodeproj refusait de s'ouvrir pour la même raison que celle indiquée dans la question posée.

Ma solution a consisté à examiner le fichier project.pbxproj à l'aide d'un éditeur de texte et à rechercher toute irrégularité dans la syntaxe du fichier (par exemple, une accolade supplémentaire). J'ai accéléré ce processus en me concentrant sur les lignes qui ont été insérées ou supprimées dans l'ancien fichier par rapport au fichier fusionné. En examinant de plus près, j'ai découvert que la cause de mon problème était la répétition de la ligne suivante :

xxxxxxxxxxxxx /* [CP] Check Pods Manifest.lock */ = {

dans mon fichier fusionné. Cela a conduit à une accolade non fermée et donc à une syntaxe pbxproj invalide. La suppression de la ligne ci-dessus a réglé mon problème.

3voto

Akash Singh Points 31

Étapes à suivre 1. naviguer dans le dossier où se trouve votre projetNom.xcodeproj Cliquez avec le bouton droit de la souris et sélectionnez 'Show Package Contents'. Vous pourrez voir la liste des fichiers avec l'extension .pbxproj. Sélectionnez project.pbxproj. Cliquez avec le bouton droit de la souris et ouvrez ce fichier en utilisant 'Text Edit'. 4. vous pourrez voir <<<<<<, ============ et >>>>>>>>>>. Ce sont généralement des conflits qui se produisent lorsque vous prenez la mise à jour de Sourcetree/SVN/GITLAB. Supprimez-les et sauvegardez le fichier. 5) Maintenant, vous serez en mesure d'ouvrir le projet sans aucun message d'erreur.

2voto

Vojta Points 457

Je viens de rencontrer le même problème. J'ai supprimé les chaînes générées par git comme toujours mais Xcode a toujours refusé d'ouvrir le fichier .xcodeproj. Pourtant, tout était correct, aucune parenthèse manquante, etc. Finalement, j'ai essayé de quitter Xcode et ouvrir le projet lorsque Xcode a été fermé puis ça a marché. J'espère que cela aidera quelqu'un.

EDIT :

pour résoudre les conflits dans votre fichier .xcodeproj, vous pouvez utiliser ce script très pratique :

  1. Créez un fichier .sh vide dans le répertoire de votre projet (par exemple, resolve_conflicts.sh).

  2. Voici le script :

    projectfile= find -d . -name 'project.pbxproj' projectdir= echo *.xcodeproj projectfile="${projectdir}/project.pbxproj" tempfile="${projectdir}/project.pbxproj.out" savefile="${projectdir}/project.pbxproj.mergesave"

    cat $projectfile | grep -v "<<<<<<< HEAD" | grep -v "=======" | grep -v "^>>>>>>> " > $tempfile mv $tempfile $projectfile

  3. Exécutez-le à partir du terminal en utilisant la commande sh : sh resolve_conflicts.sh

1voto

mondousage Points 189

Rétablir le projet.pbxproj

svn revert --filename--

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X