Je parierais que dans presque tous les cas, il n'y a pas de problème de syntaxe dans le fichier plist. Les fonctions d'Apple pour charger et sauvegarder les données plist reçoivent beaucoup d'attention et sont très utilisées. Presque tous les bogues ont sûrement été trouvés et corrigés à ce jour.
(Il faut savoir que les plists sont utilisées pour toutes sortes de choses, comme le glisser-déposer et le presse-papiers, les autorisations de sandbox pour le lancement des applications, les interfaces utilisateur de chaque application, et même l'icône à afficher dans le Finder. Il serait incroyable qu'il y ait un bug dans le code d'écriture des plists qui se trouve juste à foutre en l'air les fichiers de préférences de certaines apps, mais aucune de ces autres choses).
Le fichier de préférences d'une application (plist) ne fait que stocker sur le disque certaines de ses structures de données en mémoire. Ainsi, si l'application présente un bogue qui entraîne un mauvais paramétrage, celui-ci est sauvegardé.
Souvent, lorsqu'une application se comporte mal, il suffit de la quitter et de la redémarrer. Cela réinitialise de nombreuses parties de l'application et peut résoudre le problème. Cependant, les fichiers de préférences sont rechargés à partir du disque. Par conséquent, si la partie de l'application concernée a été enregistrée dans une préférence persistante, le redémarrage de l'application n'aura aucun impact : la mauvaise valeur sera simplement rechargée. C'est alors que la suppression du fichier de préférence peut être utile. C'est comme redémarrer l'application, mais pour les choses qui ont été sauvegardées.
Ces choses peuvent se produire parce que les programmeurs supposent que les données dont dispose leur application sont correctes. Si une couleur ne peut être choisie que par l'utilisateur en cliquant sur une roue chromatique standard, ils ne font probablement pas de travail supplémentaire pour vérifier que la couleur est correcte avant de l'utiliser. (À titre de comparaison, une application comme Safari effectue une vérification de l'exactitude des données avant de les utiliser. tonne de travail supplémentaire pour tout vérifier, car il charge et exécute des fichiers directement depuis Internet).
L'avantage, c'est qu'il est presque toujours correct, et que c'est beaucoup plus facile si vous partez du principe que les valeurs internes sont correctes. L'inconvénient, c'est que si une mauvaise valeur s'infiltre d'une manière ou d'une autre (comme si l'utilisateur avait fait quelque chose de totalement inattendu), les choses peuvent se détraquer jusqu'à ce que tout soit réinitialisé.