Je viens de frapper un mur de briques avec xCode ne voulant pas analyser mon fichier Info.plist. J'ai remplacé le fichier plusieurs fois par des versions plus anciennes (identiques) du fichier que j'avais précédemment sauvegardé et j'obtiens toujours la même erreur.
Voici le message d'erreur complet:
couldn't parse contents of '/Users/...Info.plist': The data couldn’t be read because it isn’t in the correct format.
Je suis désemparé sur celui-ci. J'utilise xCode 5.0.1, Mavericks
On dirait que remplacer le fichier par une sauvegarde, puis supprimer les données dérivées du projet dans Organizer était la solution. J'espère que cela aidera quelqu'un d'autre plus tard.
C'est l'un des meilleurs moyens de détecter sur quelle ligne se produit l'erreur.
Allez simplement dans le répertoire où le fichier plist est présent puis écrivez cette commande sur
plutil filename.plist
Une autre cause de ce problème peut être due à la tentative de placer des URL (vraiment des barres obliques, etc.) dans votre app-Info.plist.
Contournez-le simplement en levant l'indicateur -traditional
à l'intérieur de l'option Info.plist Other Preprocessor Flags
dans les paramètres de construction de votre projet.
Je pense que vous avez utilisé des outils de contrôle de source, vous pouvez utiliser un outil d’édition de texte de base sans Xcode pour ouvrir cette fenêtre, commande + F pour rechercher "<<<<<" ou ">>>>>" rechercher une chaîne d'erreur telle que:
<<<<<<< .mine
>>>>>>> .r605
sélectionnez la chaîne correcte et supprimez l'autre, l'erreur est résolue!
J'ai personnellement ruiné le fichier lorsque la fusion de git a soulevé des conflits. .plist est un fichier XML et un conflit git ajouté <<<< et >>>> ajouté pour marquer les différences.
Recherchez le fichier .plist dans le Finder (dans l'un des dossiers de votre projet). Ouvrez-le dans un éditeur de texte, recherchez les lignes qui ne ressemblent pas au bon XML, supprimez-les et veillez à supprimer la ligne/le noeud XML en double (en raison des modifications enregistrées avant et après git).
Lors de la création pour iOS, Info.plist peut être corrompu lorsque Orientation par défaut est définie sur Rotation automatique. Le fichier Info.plist est créé correctement lors de la première génération, mais les générations suivantes entraînent ...
<key>UIInterfaceOrientation</key>
<string></string>
</string>
... à ce stade, Xcode ne parvient pas à générer le projet.
J'avais la même erreur et je me suis rendu compte que le problème était que j'avais une URL (par exemple, http://example.com/something
) comme valeur dans mon info.plist et que je venais d'activer le pré-traitement (sans l'indicateur -traditional
). Apparemment, Xcode considérera le //
comme un marqueur de commentaire et omettra le reste de la ligne.
Un moyen de contournement que j’ai trouvé est d’embrasser le pré-processeur, comme suit: http:/${}/example.com/something
, qui décompose le //
en plaçant un poste de chaîne vide au milieu de sorte qu’il ne ressemble pas à un commentaire pour Xcode, le pré-traitement revient à une URL normale.