Я прочитал несколько различных статей по устранению неполадок и вопросов и ответов, где виновником является поврежденный файл настроек для приложения или процесса. Как правило, решение состоит в том, чтобы удалить файл неправильных настроек и позволить новому файлу настроек по умолчанию появляться при перезапуске любого программного обеспечения, которое неправильно работало.
Как файл настроек становится поврежденным? Это просто ошибка чтения / записи низкого уровня или в некоторых случаях возникает ошибка более высокого уровня? Это просто неверный или ошибочный XML?
Я думаю, что plutil
может сказать вам, если есть синтаксическая ошибка с файлом, но опять же, как эта ошибка была введена? Мне неясно, каков обычный источник этих поврежденных файлов. Спасибо.
-writeToFile:atomically:YES
(«данные записываются в файл резервной копии, а затем, при условии отсутствия ошибок, файл резервной копии переименовывается в указанное имя»). Функция POSIXrename()
гарантирует, что файл будет существовать «даже в случае сбоя системы в середине операции».Могу поспорить, что почти в каждом случае нет ничего синтаксически неправильного в файле plist. Функции Apple по загрузке и сохранению данных plist привлекают большое внимание и широкое использование. Почти каждая ошибка наверняка найдена и исправлена.
Файл настроек приложения (plist) просто хранит некоторые из его структур данных в памяти на диске. Поэтому, если в приложении есть ошибка, из-за которой что-то устанавливается неправильно, оно сохраняется.
Часто, когда приложение начинает плохо себя вести, вы можете просто закрыть его и перезапустить. Это сбрасывает многие его части и может решить проблему. Файлы настроек перезагружаются с диска, поэтому, если уязвимая часть приложения была сохранена в постоянном предпочтении, перезапуск приложения не окажет никакого влияния: неверное значение просто загрузится снова. Вот когда удаление файла настроек может помочь. Это как перезапуск приложения, но для вещей, которые были сохранены.
Это может произойти, потому что программисты предполагают, что данные их приложения верны. Если цвет может быть выбран только пользователем, щелкающим по стандартному элементу управления цветовым колесом, он, вероятно, не выполняет никакой дополнительной работы, чтобы проверить его правильность перед использованием. (Для сравнения, такое приложение, как Safari, выполняет кучу дополнительной работы, проверяя все, потому что оно загружает и запускает файлы прямо из Интернета.)
Плюс в том, что это почти всегда правильно, и гораздо проще, если вы предполагаете, что внутренние значения верны. Недостатком является то, что если какое-то плохое значение просачивается как-то (как пользователь сделал что-то совершенно неожиданное), все может пойти не так, пока все не будет сброшено.
источник
Будучи опытным пожилым гражданином, я обнаружил, что мой файл настроек iTunes поврежден, и лицензионное соглашение появлялось каждый раз, когда я открывал iTunes. Плюс все мои предпочтения пришлось сбросить. Я полагаю, что приведенные выше ответы верны, так как незадолго до того, как у меня возникла эта проблема, я был вынужден сделать принудительное выключение моего компьютера (проблемы с электричеством в этом районе) и несколько раз перезагрузиться / наполовину перезагрузиться. Заявки были прекращены до того, как инструкции / письмо было завершено. Но исправление для создания нового файла настроек iTunes было показано в сети и его очень легко сделать. Это решило проблему.
источник