web-dev-qa-db-fra.com

Malformé ou corrompu AST fichier

J'ai un problème. Je ne sais pas pourquoi cela est arrivé en premier lieu, mais très probablement parce que j'ai insisté pour que je passe à la corbeille dans certains frameworks système par erreur. 

J'ai une erreur qui dit:

fichier AST mal formé ou corrompu: "fichier introuvable" /Users/username/myProject/QuartzCore.framework/Headers/CAMediaTiming.h "référencé par le fichier AST" 

J'ai essayé de copier QuartzCore.framework dans ce répertoire. Cela me donne alors un coup de poing de nouvelles erreurs. Ensuite, si je supprime le cadre de la Dir. Tout sera bon pour le projet jusqu'à ce que je modifie mon code. Ensuite, je devrais refaire le scénario précédent. C'est très énervant maintenant et j'ai vraiment besoin de résoudre ce problème. N'importe qui?

41
Mohamed Emad Hegab

Comme demandé:

Ce qui a causé cette erreur pour moi (après avoir obtenu le nouveau Xcode), c’est que j’essayais d’exécuter un projet dans un simulateur (accidentellement dans un simulateur, je n’utilise jamais de simulateur), mais j’oublierais de sélectionner mon appareil sans quoi mon appareil serait débranché. je le remarque, et il va essayer de fonctionner dans le simulateur ... donc je voudrais obtenir ces erreurs de fichier ".o" classiques ... Ensuite, je reviendrais sur mon appareil et obtenir des fichiers AST corrompus ...


Pour résoudre le problème ... (suivez les étapes ci-dessousTRÈSde près !!!!!)

  1. Nettoyez votre projet
  2. QUIT Xcode (CMD + Q)
  3. Exécutez cette commande de terminal: 
    rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache/*
  4. Rouvrir Xcode
  5. VÉRIFIEZ QUE VOTRE APPAREIL EST SÉLECTIONNÉ ET NON SIMULATEUR 
  6. Projet CLEAN (Oui, encore)
  7. ALORS construire (sur votre appareil,pas sur simulateur) ...

Prendre plaisir!

Remarque: après de nouvelles expérimentations, j'ai constaté que la suppression forcée de xCode n'était peut-être pas nécessaire. 

95
Albert Renshaw

En plus de toutes les autres réponses "nettoyez votre version", rien ne fonctionnait pour moi tant que je n'ai pas vidé le répertoire (hautement non documenté!) /var/folders.

Apparemment, il s'agit d'un répertoire "caches divers" maintenu par OS-X. Je n'ai même pas cherché à savoir quels étaient "les bons fichiers"; Je viens de nettoyer tout le répertoire.

... Et maintenant je peux construire à nouveau. Hourra! Du terminal:

[Sudo] rm -rf /var/folders/*

(Bien que je l'ai fait depuis le Finder, via une authentification.) (OS-X 10.9.latest)

Indice supplémentaire: je pouvais construire avec XCode-6-beta, mais j'ai eu l'erreur maladroite "corrompu AST" dans XCode-5.

9
Olie

Dans ma situation, tout ce que j'avais à faire était de cliquer sur Produit> Nettoyer, puis de reconstruire le projet. Ça a réussi. J'espère que cela aidera d'autres personnes qui se retrouvent dans la même situation.

6
Jordan H

Bonjour à tous, j'ai la même erreur parce que j'ai ouvert deux projets à la fois et fait glisser des cadres d'un projet à un autre ..__ Après un moment, j'ai réalisé que ce n'était pas une bonne façon. J'ai déplacé tous les cadres qui sont déplacés d'un autre projet vers la corbeille. Ensuite, nettoyez et exécutez dans le simulateur, tout fonctionne correctement.

Supprimer les cadres-> ajouter à nouveau des cadres-> nettoyer et exécuter

J'espère que ça va aider quelqu'un

4

Personnellement, une seule solution a fonctionné pour moi: Dans Xcode, accédez à Fenêtre -> Organiseur Cliquez sur le bouton "supprimer" situé près du répertoire "données dérivées" . Puis relancez votre projet ...

4
Daniel C.

Je viens de nettoyer mon projet et de le reconstruire. Tout est rentré dans l'ordre.

0
teapeng

Dans mon cas, l’erreur se produisait car j’avais un fichier .m corrompu - c’était un fichier qui avait, d’une manière ou d’une autre, trouvé son chemin dans mon projet du code Java en elle). Pour résoudre le problème, j'ai nettoyé mon projet, fermé Xcode, supprimé le fichier .m erroné et réouvert Xcode. Il m'a alors donné une erreur grave due au fichier .m maintenant manquant. J'ai créé un nouveau fichier .m vide portant le même nom et le projet a fonctionné correctement. Un peu de bidouille mais ça a marché :-)

0
JanB