Après la mise à jour vers Xcode 6 beta 3, le compilateur continue de planter avec l'erreur suivante:
/[Long-path-goes-here]/all-product-headers.yaml:4:13: error: Could not find closing ]!
'roots': [
^
fatal error: invalid virtual filesystem overlay file '/[Long-path-goes-here]/all-product-headers.yaml'
1 error generated.
Résolu en procédant comme suit:
{
'version': 0,
'case-sensitive': 'false',
'roots': []
}
Après cela, Xcode se plaindra de ne pas être en mesure d'écrire le fichier avec cette erreur, cela est prévu et ne semble pas affecter la construction. Edit: Pour la plupart des gens. Si cela vous empêche de fonctionner, essayez de désactiver Defines Module
dans Build Settings
de votre cible:
Unable to write to file /Users/user/Library/Developer/Xcode/DerivedData/.. (You don’t have permission to save the file “all-product-headers.yaml” in the folder “Pods.build”.)
Chapeau à la discussion sur les forums de développeurs Apple . En outre, ceci est la question pertinente dans le suivi des problèmes CocoaPods.
Essayez de définir "Defines Module = YES" dans la cible de votre application. Fonctionne pour mon projet.
Nettoyer (commande-shift-K) et nettoyer-construire-dossier (commande-alt-shift-K) et construire à nouveau a fonctionné pour moi.
J'ai eu ce problème parce que j'ai supprimé d'anciennes archives et fichiers de mon mac pour libérer de l'espace. Cependant, l'installation du pod pour ce projet l'a résolu.
Peut-être que votre chemin vers le fichier .yaml contient le caractère '
. Cela rend l'analyseur confus. En utilisant TextWrangler, vous pouvez voir que votre chemin a différentes couleurs (rouge et noir).
C'est mon cas, et le déplacement du projet vers un autre chemin (qui ne contient pas '
) a résolu mon problème.
Je l'ai résolu en supprimant le dossier DerivedData
du projet actuel par (Xcode 8):
Xcode
> Preferences
> Locations
tab> Cliquez sur la flèche vers la droite située sous DerivedData
> dans le dossier DerivedData
, supprimez le dossier du projet . Il est préférable de nettoyer en profondeur également avec Shift+Cmd+Alt+K
.
Peut réparer avec une commande Shell:
echo "{\n\t'version': 0,\n\t'case-sensitive': 'false',\n\t'roots': []\n}" > /[Long-path-goes-here]/all-product-headers.yaml
Où le chemin est copié en dehors de l'erreur Xcode.
Voir la réponse de Daniel Schlaug pour plus d'informations
J'ai essayé toutes les réponses ci-dessus/ci-dessous. Aucun n'a travaillé.
Cependant, le redémarrage de Xcode l’a fait.
Essayez cela avant d'entrer dans la folie d'essayer de corriger la situation actuelle du fichier manquant. Tout le reste est de la folie. Heck, si cela ne résout pas le problème. Je voudrais même essayer de redémarrer chaque fois que vous faites l'une des stratégies énumérées ici. Peut-être que l'un de ceux-ci le corrigera mais Xcode restera bloqué jusqu'à ce que vous le redémarriez.
Rien d’autre à faire, Xcode est parfois trop bogué.
Je reçois cette erreur trop souvent et j'ai donc créé un script bash simple, basé sur la réponse de Daniel Schlaug. Je n'ai jamais eu besoin de verrouiller le fichier. Copiez simplement le fichier référencé dans votre journal des erreurs et utilisez-le comme seul paramètre. N'oubliez pas de chmod +ux
avant de lancer.
#!/bin/bash
if [ "$#" -eq "0" ]
then
echo "No arguments supplied"
exit
fi
rm -rf $1
echo "
{
'version': 0,
'case-sensitive': 'false',
'roots': []
}" > $1