Рекомендуется полагаться на то, что операционная система уже сделала это для вас, и избегать представления собственного пользовательского интерфейса для входа в систему.
В iOS уже есть встроенный механизм аутентификации, используемый для управления экраномблокировка и защита файлов и хранилищ ключей.Пользователь может установить (или его ИТ-отдел может назначить) пароль любой сложности: iOS будет управлять представлением этого пользовательского интерфейса, предоставляя доступ при успешном вводе кода доступа и не допуская атакующих, ограничивая скорость и количество предположений с помощью пароля.Этот процесс использует PBKDF2 для генерации ключей дешифрования, используемых для доступа к конфиденциальному хранилищу, поэтому без пароля этот хранилище будет полностью недоступно для iOS и для атак в автономном режиме.Если ваша система не воспроизводит все это, вы потратили меньше усилий, чтобы обеспечить худшую реализацию.Если вы все это повторяете, то вы приложили немало усилий, чтобы предоставить потенциально ошибочную версию того, что вам уже было доступно.
Но это еще хуже: нам также нужно учестьпользовательский опыт представления нескольких требований входа в систему.Ваше приложение не используется в вакууме : ваши клиенты имеют на своих устройствах всевозможные другие приложения, включая приложения для работы с электронной почтой и сообщениями.Если они обеспокоены конфиденциальностью любой этой информации, они могут настроить пароль iOS для защиты всех ее - и запрос пароля вашего приложения станет излишним и раздражающим.И наоборот, если они не заботятся о конфиденциальности, они не будут устанавливать пароль, и запрос пароля вашего приложения станет неожиданным, излишним и раздражающим.