web-dev-qa-db-fra.com

Project ... xcodeproj ne peut pas être ouvert car il manque le fichier project.pbxproj

J'essayais de fusionner des branches et l'erreur " Impossible d'ouvrir le projet… ne peut pas être ouvert car le fichier du projet ne peut pas être analysé ". J'ai ensuite essayé de suivre l'avis d'autres réponses de stackoverflow (notamment pour éditer le fichier afin de supprimer la corruption), mais je n'ai pas pu éditer le fichier. Il semble qu’il s’agisse en réalité d’un répertoire. La structure de celui-ci a donc changé avec la version 4.4 de xcode et puisque la réponse à Impossible d’ouvrir le projet ... ne peut pas être ouverte car le fichier du projet ne peut pas être analysé a été écrit.

J'ai ensuite essayé de restaurer myProject.xcodeproj à partir de la sauvegarde de ma machine temporelle. Cela ne fonctionne pas car il indique que je ne suis pas autorisé à accéder à myProject.xcodeproj. J'ai essayé de changer la permission de ce répertoire, mais cela n'a pas aidé.

J'ai fermé et rouvert xcode. Maintenant l'erreur est:

Project ... xcodeproj ne peut pas être ouvert car il manque le fichier project.pbxproj .

Comment puis-je résoudre ce problème dans la version 4.4 de xcode? Peut-il être restauré à partir de l'instantané précédent, de l'archive ou de la version précédente dans xcode? Peut-il être restauré avec la machine à remonter le temps? Je voudrais éviter de reconstruire l'ensemble du projet.

10
JeffB6688

En fin de compte, ce que je devais faire était

'cp -R ...TimeMachineBackup/myProject.xcodeproj ...myProjectArea/myProject.xcodeproj'

Ensuite, je devais faire ce qui suit dans myProjectArea:

git reset --merge

Cela m'a permis d'ouvrir le projet et de changer de branche dans ma branche principale.

pas une expérience agréable

5
JeffB6688

La chose la plus simple à faire est probablement de

  1. Checkout myProject.xcodeproj à partir du contrôle de source. Cela contiendra les modifications qui vous ont amené à être en conflit la dernière fois.
  2. Refaites les modifications apportées au projet depuis la dernière fois que vous vous êtes engagé dans le contrôle de source
  3. commit/Push au contrôle de source.

À l'avenir, si vous rencontrez un conflit dans le fichier de projet, consultez myProject.xcodeproj/project.pbxproj. Ce sont souvent de nouveaux fichiers du projet qui ont été ajoutés au même endroit. Dans ce cas, il vous suffit de supprimer les métadonnées de conflit et de résoudre le conflit.

6
boxel

Je pouvais obtenir ce travail sans trucs en ligne de commande comme ceci:

  1. Accédez au lecteur Time Machine dans le Finder.
  2. Accédez à la sauvegarde souhaitée.
  3. Faites-le glisser où je le veux. Cela va se plaindre de ne pas avoir la permission d'accéder à .pbxproj
  4. Cliquez avec le bouton droit sur le xcodeproj que vous venez de faire glisser, sélectionnez "Afficher le contenu".
  5. Cliquez avec le bouton droit de la souris sur xcodeproj dans le dossier de sauvegarde de Time Machine, sélectionnez "Afficher le contenu".
  6. Faites glisser le .pbxproj que vous voyez à l'intérieur de la destination que vous venez de créer avec le glisser dans # 3.

Maintenant ça devrait marcher.

2
Almo

Pour d'autres personnes qui étudient cette question, la cause dans mon cas s'est avérée être que le "texte de conflit" d'une fusion de git s'était glissé dans le fichier réel:

<<<<<<< HEAD
                F0FDA2D61B99EB80007DB99D /* Aptron-mCollegix.xcassets */,
=======
                F08CFAAA1BC1E9EE00A5B6F5 /* Aptron-mCollegix.xcassets */,
>>>>>>> hotfix/Column_Text_Cut-off

l'ouverture du fichier project.pbxproj dans un éditeur de texte a facilité la résolution.

1
RayInNoIL

Cela peut également se produire si vous utilisez Sudo pour une raison quelconque avec les pods ou l'éditeur - si le fichier existe dans votre répertoire App.xcodeprojectroj mais que xcode se plaint de ne pas le trouver - Allez à la racine du projet et faites:

Sudo chown -R yourusername:staff ./*
0
Mrk Fldig

Si quelqu'un veut trouver le fichier project.pbxproj manquant, essayez d'ouvrir le fichier .xcodeproj avec un éditeur de code. Et notez que j’avais la sauvegarde de mon application dans mon autre ordinateur, j’ai donc trouvé ce fichier là-bas, de sorte que vous devez sauvegarder votre projet quelque part pour que cela fonctionne.

0
Farhan