У меня возникли проблемы с выяснением причин, почему NSUserDefaults
оставляет файлы мусора в библиотеке/Предпочтения для моего приложения.Почему NSUserDefaults оставляет временные файлы plist в Library/Preferences для моего приложения?
Я вижу следующие файлы ...
com.mycompany.myapp.plist
com.mycompany.myapp.plist.3gaPYul
com.mycompany.myapp.plist.c97yxEH
... и т.д. plist.*
файлы 0 байт. Кажется, что каждый раз, когда приложение запускается, оно оставляет новый. Я убедился, что я вообще не звоню -[NSUserDefaults synchronize]
, однако, если я его вызываю, он ускоряет появление нежелательных файлов для данного запуска. Выйдя в отладчик, как только я перейду к вызову для синхронизации, появился новый файл. Если я вынимаю вызов синхронизации, в старте приложения иногда появляется новый файл нежелательной почты, а иногда - при закрытии приложения.
Я также проверяю, возможно ли, что я устанавливаю по умолчанию пользователя в потоке (маловероятно, но возможно возможно), подумал, что документы говорят, что это потокобезопасность.
Любая помощь приветствуется. Благодаря!
EDIT:
Просто нашел это: "Почему?" CFPreferences creates multiple files
Хотя я согласен с идеей отвечающими, это не объясняет часть.
Это довольно сумасшедший; дайте мне знать, если вы когда-нибудь узнаете, почему! –
У меня была одна и та же проблема: временные plists на самом деле заканчиваются заполнением iPad полностью (тысячи файлов размером ~ 4 Мб, заканчивающиеся на несколько Gb). Определенно выглядит как ошибка iOS. – quentinadam