He leído algunos artículos de solución de problemas diferentes y preguntas y respuestas donde el culpable es un archivo de preferencias corrupto para una aplicación o proceso. Por lo general, la solución es eliminar el archivo de preferencias erróneas y permitir que se genere un nuevo archivo de preferencias predeterminado al reiniciar cualquier software que se esté comportando mal.
¿Cómo se corrompe un archivo de preferencias? ¿Es esto simplemente un error de lectura / escritura de bajo nivel, o hay un error de nivel superior en algunos casos? ¿Es solo XML mal formado o mal escrito?
Creo que plutil
podría decirte si hay un error sintáctico con el archivo, pero de nuevo, ¿cómo se introdujo el error? No tengo claro el origen habitual de estos archivos corruptos. Gracias.
-writeToFile:atomically:YES
("los datos se escriben en un archivo de respaldo y luego, suponiendo que no ocurran errores, el archivo de respaldo se renombra con el nombre especificado"). Larename()
función POSIX garantiza que el archivo existirá "incluso si el sistema se bloquea en el medio de la operación".Apuesto a que en casi todos los casos, no hay nada sintácticamente incorrecto con el archivo plist. Las funciones de Apple para cargar y guardar datos de plist reciben mucha atención y mucho uso. Casi todos los errores seguramente se han encontrado y corregido por ahora.
El archivo de preferencias de una aplicación (plist) simplemente almacena algunas de sus estructuras de datos en memoria en el disco. Entonces, si la aplicación tiene un error que hace que algo se configure incorrectamente, se guarda.
A menudo, cuando una aplicación comienza a comportarse mal, simplemente puede salir y reiniciar. Eso restablece muchas partes y puede solucionar el problema. Sin embargo, los archivos de preferencias se vuelven a cargar desde el disco, por lo que si la parte afectada de la aplicación se guardó en una preferencia persistente, reiniciar la aplicación no tendrá ningún impacto: el valor incorrecto se volverá a cargar. Eso es cuando eliminar el archivo de preferencias puede ayudar. Es como reiniciar la aplicación, pero para cosas que se guardaron.
Estas cosas pueden suceder porque los programadores suponen que los datos que tiene su aplicación son correctos. Si un usuario puede elegir un color haciendo clic en un control de rueda de color estándar, probablemente no haga ningún trabajo adicional para verificar que sea correcto antes de usarlo. (En comparación, una aplicación como Safari hace un montón de trabajo extra verificando todo, porque carga y ejecuta archivos directamente desde Internet).
Lo bueno es que casi siempre es correcto, y es mucho más fácil si asumes que los valores internos son correctos. La desventaja es que si un valor malo se cuela de alguna manera (como si el usuario hiciera algo totalmente inesperado), las cosas pueden volverse locas hasta que todo se restablezca.
fuente
Como una persona de la tercera edad con problemas de tecnología, descubrí que mi archivo de preferencias de iTunes estaba dañado y hacía que el acuerdo de licencia apareciera cada vez que abría iTunes. Además, todas mis preferencias tuvieron que restablecerse. Creo que las respuestas anteriores son correctas, ya que justo antes de tener este problema, me vi obligado a apagar la computadora (problemas eléctricos en el área) y reiniciar / reiniciar varias veces varias veces. Las solicitudes finalizaron antes de que se completaran las instrucciones / redacción. Pero la solución para generar un nuevo archivo de preferencias de iTunes se mostró en línea y es muy fácil de hacer. Se solucionó el problema.
fuente