2014-09-17 3 views
4

Я сохраняю значение в NSUserDefaults, которое я использую, чтобы проверить, было ли это при первом запуске приложения. Я проверяю это значение в приложении App Delegate, и он работает отлично по большей части. Однако я ожидал, что это значение будет очищено, если я удалю приложение с устройства, чтобы при первом запуске после его переустановки он будет вести себя так, как если бы он никогда не был установлен на этом устройстве. Однако значение, хранящееся в NSUserDefaults, все еще существует. Теперь я знаю, как очистить NSUserDefaults программным способом, но как бы я это сделал и все еще могу сказать, было ли это при первом запуске приложения (и впервые было запущено после его удаления в качестве первого запуска)?Удаление приложения с устройства не очищает NSUserDefaults

Редактировать: Эта проблема была для реального физического устройства (а не для симулятора). Удаление приложения из симулятора DID очистит NSUserDefaults правильно. Однако вчера у меня был iPhone, и новый телефон не обнаружил эту проблему. Теперь NSUserDefaults корректно очищается. Не знаю, в чем проблема, но я возьму его.

+1

Вы можете поделиться некоторыми кодами? Я использую этот способ много раз в своих приложениях, проверяя, установлено ли приложение в первый раз или нет с помощью NSUserDefaults, и у меня никогда не было такой проблемы раньше. –

+3

Возможный дубликат [NSUserDefaults не очищается после удаления приложения] (http://stackoverflow.com/questions/24985825/nsuserdefaults-not-cleared-after-app-uninstallation) также проверка [когда приложение удаляется, что происходит со значениями хранится в nsuserdefaults] (http://stackoverflow.com/questions/23269625/when-the-app-is-deleted-what-happens-to-the-values-stored-in-suserdefaults) – Popeye

ответ

5

Для тех, кто сталкивается с той же проблемой на устройстве.

Если у вас более 1 приложения под одной и той же группой, и все они используют группы приложений (по возможностям), вам придется удалить все приложения с устройства, чтобы очистить пользовательские значения по умолчанию ,

Поскольку пользовательские настройки по умолчанию являются общедоступными, даже если одно из них находится на устройстве, оно не будет удалено, так как это приложение будет использовать пользовательские ошибки.

Смежные вопросы