2014-01-03 5 views
11

У меня проблема. Я сохраняю важную информацию о устройстве Keychain для своего приложения, но когда я удалю приложение и снова его установлю, эти данные все еще сохраняются. Как удалить эту информацию при удалении приложения? Если это невозможно, как определить, когда приложение загружается после установки без сохранения информации в NSUserDefaults?Как удалить данные Keychain, когда приложение удалено?

спасибо.

+1

http://stackoverflow.com/q/4747404/653513 –

+2

Почему вы не хотите использовать NSUserDefaults для хранения того, запускается ли приложение в первый раз? – tilo

+0

вы ничего не можете сделать, когда приложение будет удалено с устройства, приложение не будет уведомлено об этом событии. – holex

ответ

0

Я не уверен, почему вы не хотели бы использовать NSUserDefaults. Кажется идеальным для этой цели.

Запрет NSUserDefaults, вы можете написать файл в каталог Документы и использовать его в качестве своего флага.


Я думаю, что неправильно понял ваш вопрос. Я предполагаю, что все время вы будете использовать брелок для хранения безопасного значения.

Используйте флаг в NSUserDefaults, чтобы сообщить, что вам нужно удалить брелок при первом запуске.


В реальной альтернативы брелка, используйте Data Protection право.

+1

'NSUserDefault' небезопасны, имеет смысл хранить его в более удобном месте, например,' KeyChain', поскольку 'NSUserDefault' просто хранятся как обычный текст. – rckoenes

+0

@rckoenes Я обновил свой ответ. Я думаю, вы хотите использовать Data Protection. –

+0

Спасибо, Джеффри Томас, очень хорошая альтернатива! – Paolpa

5

Это работа, но может быть удовлетворит вас: Магазин в NSUserDefaults флаг, этот брелок имеет данные. Если это NO, тогда игнорируйте брелок.

+2

Вы не должны использовать NSUserDefaults для получения конфиденциальных данных, таких как пароли или сертификаты. – orkoden

+1

@orkoden, кто-нибудь сказал о хранении паролей в NSUserDefaults? Не я. –

+0

@ ta.speot.is. Спасибо, колпачок. Почему -1? –

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