web-dev-qa-db-fra.com

iOS - conflits de fusion de git après l'ajout de cocoapodes au projet

Je travaille sur une application avec un autre partenaire. Il travaille sur master et j'ai créé une nouvelle branche. Sur ma branche j'ai installé cocoapods. J'ai juste essayé de tirer de master et j'ai des conflits de fusion.

Lorsque j'ouvre Xcode, le fichier d'espace de travail contient une erreur et indique:

"Workspace Integrity - Couldn't load project"

Comment puis-je résoudre ce conflit de fusion?

13
user3344977

Lorsque git rencontre des conflits, il ajoute des lignes de texte aux fichiers en conflit. Ce sont des commentaires comme: 

<<<<< HEAD
  ... your code from HEAD...
=========
  ... your code from the merge branch...
>>>>>> my_merged_branch_name

Ces lignes indiquent les endroits où Git a besoin d'aide. Lorsque Xcode rencontre l'une de ces lignes dans un fichier .pbxproj, il ne peut pas ouvrir le fichier et génère une erreur Workspace Inconsistency

Si vous regardez les messages que vous avez reçus de git, ils indiquent quels fichiers ont eu des conflits de fusion. 

Pour résoudre le problème:

  1. Ouvrez chacun de ces fichiers avec un simple éditeur de texte (je suis vieille école, donc j'utilise vi. Nano fonctionnera aussi. Assurez-vous simplement que vous utilisez un éditeur de code et non un logiciel de traitement de texte comme TextEdit qui essaiera de changer les fins de ligne, etc. ) 

  2. Résolvez les conflits en supprimant les lignes de commentaire ajoutées par git et en choisissant les lignes de code à conserver.

  3. Puis dites à git que vous avez résolu les conflits: Git add.

  4. et continuez avec la fusion. 

Xcode devrait maintenant pouvoir ouvrir votre projet. 

24
Suz

Voici mes 2 cents.

Parfois, même après la suppression de tous les >>>> et =====, vous obtenez toujours les mêmes erreurs. 

  • Nettoyer le projet,
  • Exécutez le pod install
  • Construire le projet

Cela devrait résoudre les problèmes restants.

3
Mr H

Il suffit de redémarrer le Xcode et il devrait construire bien

1
Ali

Peut-être que votre project.pbxproj est détruit. si vous modifiez votre projet.pbxproj, vous devez vérifier votre projet.pbxproj avec soin par votre.xcodeproj -> Afficher le contenu du package -> projet.pbxproj

0
WDC