web-dev-qa-db-fra.com

Le fichier de correction 'project.pch' a été modifié depuis que l'en-tête précompilé a été créé une erreur dans Xcode

Je travaillais récemment sur mon application dans la section info.plist, et depuis, mon application ne fonctionnera pas sur mon appareil de test:

le fichier 'project.pch' a été modifié depuis la création de l'en-tête précompilé

Quelque chose à noter est que l'application fonctionne correctement dans le simulateur.


Edit: Maintenant, je reçois cette erreur au lieu de l'autre:

Aucun fichier ou répertoire de ce type (/Users/Me/Library/Developer/Xcode/DerivedData/MyProject-abcdefghijklmnopqrstuvwxyz/Build/Products/Debug-iphoneos/MyApp./MyApp)

No such file or directory error

Comment régénérer le fichier info.plist?

54
user1542348

Vous pouvez essayer un nettoyage en profondeur (différent de Produit> Nettoyer) - Option+Command+Shift+K

Remarque: cela signifie que le nettoie le dossier de construction (en appuyant sur Option + Produit -> dossier propre)

104
HexAndBugs
  1. Fermez votre projet ou votre espace de travail.
  2. Dans le Finder: ⇧shift+⌘cmd+G
  3. Coller: ~/Library/Developer/Xcode/DerivedData/
  4. Supprimez le dossier ModuleCache et videz la corbeille.
  5. Ouvrez votre projet.
  6. Nettoyer: ⇧shift+⌘cmd+K
  7. Construire: ⌘cmd+B
75
emotality

Dans mon cas, le message d'erreur avait un petit indice:

note: après avoir modifié les en-têtes du système, veuillez supprimer le cache du module dans '~/Library/Developer/Xcode/DerivedData/ModuleCache/5CYAJ91AZCB7'

J'ai essayé et ça a marché.

60
CedricSoubrie

Le simple fait de toucher le fichier pch du projet a résolu ce problème pour moi:

touch Test.pch
43
ıɾuǝʞ
  • Produit -> Propre
  • Produit + Option -> Clean Build Folder
  • Fermer le projet ou l'espace de travail
  • Nettoyez le chemin "ModuleCache" dans le Finder.

A travaillé pour moi dans Xcode6 GM et iOS 8.0.

19
Jorge SV

Lorsque le fichier .h d'une bibliothèque fournie avec Xcode est modifié (même un espace), cette erreur peut se produire.

Ce qui suit peut-être essayé afin de résoudre ce problème

  • Dans, Projet -> Paramètres de construction , remplacez En-tête de préfixe de précompilation par NON

    OR

  • Exécutez rm -rf ~/Library/Developer/Xcode/DerivedData et Clean Build
10
Abhilash Gopal

Je l'ai constamment depuis la mise à niveau de Xcode 4.6 vers Xcode 5 avec des projets iOS lors de l'utilisation de la construction en ligne de commande (xcodebuild).

Ce qui a fonctionné pour moi, c'est de l'utiliser comme commande de création de ligne de commande:

xcodebuild -project path/to/my.xcodeproj -configuration Debug clean build

Avant cela, j'ai essayé:

  • Nettoyez le projet dans l'interface graphique Xcode.
  • Supprimez le fichier pch incriminé.
  • Supprimez le dossier parent du fichier pch incriminé.
  • Supprimez le dossier du projet DerivedData.

Rien de ce qui précède n'a fonctionné pour moi sous Xcode 5.0.2, Mavericks, iOS7.

Notez que le problème ne m'est pas arrivé lors de l'utilisation de l'interface graphique Xcode.

7
kakyo

Je vais juste dans le répertoire "/ $ HOME/Library/Developer/Xcode/DerivedData /", supprimez tout là-bas

5
0oneo

Cliquez simplement sur Produit dans le menu et sélectionnez Nettoyer

Produit> Nettoyer

Ça a bien marché pour moi.

3
M_R_K
rm -rf ~/Library/Developer/Xcode/DerivedData/
2

Si vous utilisez AppCode, vous pouvez essayer de supprimer le contenu de:/Users/[Username]/Library/Caches/appCode 30/Derived Data /

A travaillé pour moi :)

2
lembrykos

J'ai le même problème. Mon erreur a dit que je dois supprimer le cache dans l'emplacement ci-dessous,

Utilisateurs/myusername/Library/Developer/Xcode/DerivedData/ModuleCache/3FGETKFCU0N0W

3FGETKFCU0N0W était un dossier, quand je l'ai supprimé, puis nettoyez le projet. Ensuite, l'erreur disparaît.

2
Easwaramoorthy K

Si vous obtenez cela lorsque vous changez de branche git, essayez d'ajouter ce crochet post-paiement qui nettoiera votre projet chaque fois que vous changez de branche.

!/bin/sh
xcodebuild clean -configuration Debug

Enregistrer sous .git/hooks/post-checkout par rapport à la racine de votre projet et n'oubliez pas chmod +x .git/hooks/post-checkout

1
Maciej Swic

Aussi, ouvrez simplement le terminal et supprimez le fichier .pcm qui a été généré (Xcode 6 et suivants)

rm <path-to-pcm-file>
1
Abhilash Gopal

Pour moi, ce problème ne se produit que dans la version bêta de Xcode 6, donc je reviens à Xcode 5, et maintenant le problème est résolu.

J'ai essayé toutes les étapes suggérées par tous les utilisateurs ici, mais personne n'a travaillé pour moi.

Donc, si vous avez les deux versions de Xcode et que vous avez un problème uniquement dans Xcode 6 beta, passez à Xcode 5 et nettoyez le projet, le problème sera résolu.

1
Nitesh Borad

La seule solution qui a fonctionné pour moi était d'exécuter la commande suivante:

Sudo rm -R /var/folders/

Mais cela m'a donné beaucoup de problèmes sous OS X.

Je pensais que parce que/var/dossiers/est pour les fichiers temporaires, il devrait être juste de vider n'importe quoi dedans Mais j'avais tort voir le post suivant: link

Et le problème que vous avez décrit s'est produit à chaque fois que j'essayais de construire mon projet Xcode - je le construisais à partir de la CLI via Jenkins.

Ce qui signifie que je ne pouvais pas exécuter la commande rm à chaque fois. J'ai donc trouvé quelques inspirations et écrit le script Ruby qui a résolu mon problème:

#!/usr/bin/env Ruby

require 'fileutils'

cache = Dir.glob("/var/folders/**/com.Apple.DeveloperTools*")
FileUtils.rm_rf(cache)

J'espère que ce serait utile à quelqu'un.

1
martinmose

Si vous construisez sur la ligne de commande en utilisant xcodebuild, supprimez l'option '-parallelizeTargets' passée à la commande. Cela a résolu le problème pour moi

0
dev

J'ai essayé ceux-ci un par un, mais je n'ai pas réussi à créer et à exécuter mon projet. J'ai donc changé En-tête de préfixe de précompilation en NON comme mentionné par @Abhilash Gopal, puis j'ai réinitialisé le simulateur, supprimé les données dérivées, supprimé le fichier .pcm correspondant (dans mon cas, c'était le UIImage.h du cadre UIKit, donc supprimé le UIKit.pcm). Ensuite, j'ai nettoyé le projet et seulement alors j'ai pu le construire avec succès. Dans les versions antérieures de Xcode, ces fichiers étaient fondamentalement verrouillés et n'étaient pas autorisés à être modifiés. Mais ce n'est pas le cas maintenant. J'espère que cela aide quelqu'un qui fait face à la même situation.

0
Meera

Suppression de project.xcworkspace a fait un tour pour moi.

project.xcworkspace est un répertoire qui décrit le schéma de l'état actuel de l'espace de travail Xcode. Chaque fois que Xcode est lancé, il se régénérera project.xcworkspace s'il n'existe pas déjà.

Pour supprimer project.xcworkspace:

  • Faites un clic droit sur votre fichier de projet yourProject.xcodeproj
  • Dans le menu déroulant, choisissez Show Package Content
  • Purger le fichier xcworkspace
0
Delorean