Могут ли другие программы читать настройки моего NSUserDefaults?

На iPhone, не включая телефоны с нарушениями прав человека, могут ли другие приложения читать значения, которые вы установили, используя NSUserDefaults? Я рассматриваю возможность сохранения клиента userid/password для нашего сервиса и хочу убедиться, что он безопасен.

Ответ 1

Нет, другие приложения не могут видеть ваши данные. Тем не менее вам следует, вероятно, рассмотреть возможность использования keychain на iPhone для хранения конфиденциальных данных, таких как имена пользователей и пароли.

Ответ 3

Прежде всего, вы должны сохранить userid/password в цепочке ключей, а не по умолчанию.

Во-вторых, да, другие приложения могут читать NSUserDefaults. По умолчанию используется стиль unix пользователь по умолчанию, а не по умолчанию. В старой ОС NextStep отдельные пользователи по умолчанию будут следовать за ними из сетевого компьютера в сетевую машину. Идея заключается в том, что пользователи имеют предпочтения для таких вещей, как шрифты по умолчанию, которые должны использовать все приложения.

iPhone унаследовал это, будучи сокращенной версией MacOS X. Я не уверен, насколько тщательным является песочница на iPhone-приложениях. Возможно, вы сможете проникнуть через систему, если знаете правильные ключи для доменов и значений.

Разумеется, Apple решительно не рекомендует хранить какую-либо конфиденциальную информацию в настройках пользователя по умолчанию.