На iPhone, не включая телефоны с нарушениями прав человека, могут ли другие приложения читать значения, которые вы установили, используя NSUserDefaults
? Я рассматриваю возможность сохранения клиента userid/password для нашего сервиса и хочу убедиться, что он безопасен.
Могут ли другие программы читать настройки моего NSUserDefaults?
Ответ 1
Нет, другие приложения не могут видеть ваши данные. Тем не менее вам следует, вероятно, рассмотреть возможность использования keychain на iPhone для хранения конфиденциальных данных, таких как имена пользователей и пароли.
Ответ 2
Нет, приложения изолированы. Это включает в себя собственный каталог для настроек и пользовательских данных.
Ответ 3
Прежде всего, вы должны сохранить userid/password в цепочке ключей, а не по умолчанию.
Во-вторых, да, другие приложения могут читать NSUserDefaults. По умолчанию используется стиль unix пользователь по умолчанию, а не по умолчанию. В старой ОС NextStep отдельные пользователи по умолчанию будут следовать за ними из сетевого компьютера в сетевую машину. Идея заключается в том, что пользователи имеют предпочтения для таких вещей, как шрифты по умолчанию, которые должны использовать все приложения.
iPhone унаследовал это, будучи сокращенной версией MacOS X. Я не уверен, насколько тщательным является песочница на iPhone-приложениях. Возможно, вы сможете проникнуть через систему, если знаете правильные ключи для доменов и значений.
Разумеется, Apple решительно не рекомендует хранить какую-либо конфиденциальную информацию в настройках пользователя по умолчанию.