рдпрджрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХ рдкрдВрдЬреАрдХрд░рдг рдлрд╝рдВрдХреНрд╢рди рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк
iOS 12 рдореЗрдВ рдирд╡рд╛рдЪрд╛рд░ рдореЗрдВ рд░реБрдЪрд┐ рд▓реЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ рдореИрдВ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдпрд╣ рдПрдХ рдРрд╕реА рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдирдП рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рддреА рд╣реИ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ
рдХрд┐рдЪреЗрди рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИред
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд╛рд╕рд╡рд░реНрдб рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдЪрдпрди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рд░реЛрдзреА рд╣реЛрддреЗ рд╣реИрдВ (рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдЕрдиреБрдХреНрд░рдо рд╣реЛрддреЗ рд╣реИрдВ - рдХрд╕реНрдЯрдо рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдпреЛрдЬрд┐рдд, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХ), рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рд░рд╛рд╣рдд рджреЗрддреЗ рд╣реИрдВ рдФрд░ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХрд╛рдлреА рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдмрд╛рддреЗрдВ рдкрд╣рд▓реЗред
рдЕрдзрд┐рдХрд╛рд░ рдФрд░ рджрд╛рдпрд┐рддреНрд╡
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рд╕рдВрдмрдВрдзрд┐рдд
рд▓рдХреНрд╖реНрдп рдХреА
рдХреНрд╖рдорддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ
, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ
рдПрд╕реЛрд╕рд┐рдПрдЯреЗрдб рдбреЛрдореЗрди рд╕реВрдЪреА рдореЗрдВ рдПрдХ рдбреЛрдореЗрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХ "рдПрд╕реЛрд╕рд┐рдПрдЯреЗрдб рдбреЛрдореЗрди" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЙрддреНрдкрдиреНрди рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ "рдХрд┐рдЪреЗрди" рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ (рдпреЗ рджреЛ рдХрд╛рд░реНрдп рдЖрдкрд╕ рдореЗрдВ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рдФрд░ рдкреАрдврд╝реА рдХреЛ рднрдВрдбрд╛рд░рдг рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди
рдЖрдкрдХреА рд╕рд╛рдЗрдЯ (рддрдерд╛рдХрдерд┐рдд "рд╕рд╛рдЭрд╛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓") рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдЦрд╛рддреЛрдВ рдХреЗ
рдЙрдкрдпреЛрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрджрдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреАрдЫреЗ рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреАрдЫреЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╛рд╣реНрдп
рд▓рд┐рдВрдХ рдпрд╛ рдмрд╛рд╣рд░реА
"URL" рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рддрдВрддреНрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рд╡реИрд╕реЗ рднреА, рдЗрд╕ рд╕рдВрдЧрддрддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж рдЖрд╡реЗрджрди рдореЗрдВ рдПрдХ рдирдпрд╛
"рдПрдВрдЯрд╛рдЗрдЯреЗрд▓рдореЗрдВрдЯ" рд╣реЛрдЧрд╛ ред
рдЗрд╕ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЧрддрддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрд╡реЗрджрди рдореЗрдВ "рдХреНрд╖рдорддрд╛" "рдСрдЯреЛрдлрд╝рд┐рд▓
рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдкреНрд░рджрд╛рддрд╛" рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рдЖрд╡реЗрджрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдкреЗрд╢ рдХрд┐рдП рдЧрдП рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕ рд╕рдВрдЧрддрддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ
AutoFill рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдкреНрд░рджрд╛рддрд╛ Entitlement рдЕрдиреБрдорддрд┐
рдкреНрд░рдХрдЯ рд╣реЛрдЧреА ред
рд╡реИрд╕реЗ, рдпрд╣ рдФрд░ рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЬреЛрдбрд╝ рдХреЗрд╡рд▓ Apple рдбреЗрд╡рд▓рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрд╡рд┐рдЬрд╝рдирд┐рдВрдЧ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдкреНрд░рдпреБрдХреНрдд рдирд┐рд░реНрднрд░рддрд╛рдПрдБ
рдЙрдЪрд┐рдд рдЕрдиреБрдХреВрд▓рддрд╛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд░рд┐рдгрд╛рдореА рд▓рдХреНрд╖реНрдп рдХреА рд▓рд┐рдВрдХреНрдб рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реВрдЪреА рдореЗрдВ
рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рдирд╕рд░реНрд╡рд┐рд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдЗрд╕ рдмрд┐рдВрджреБ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рд▓рд╛рдпрдХ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рдВрдмрдВрдзрд┐рдд рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬреЛрдбрд╝ рдкрд╣рд▓реА рдмрд╛рд░ "рдХрд╛рдо" рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдЬрдм рдореИрдВ
"рдПрдХреНрд╕рдХреЛрдб" рд╕рдВрд╕реНрдХрд░рдг 10.1 рдХреА рдореЗрд░реА рдХреЙрдкреА рд╕реЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ "рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рдорд╛рдгреАрдХрд░рдг" рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рдЖрд╡реЗрджрди рддреБрд░рдВрдд "рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд" рд╣реЛ рдЧрдпрд╛ред рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдврд╛рдВрдЪреЗ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдХреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╡рд╛рдкрд╕ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред
рджреВрд╕рд░реЗ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рдЬреЛрдбрд╝рдирд╛ "рдЖрд╡рд╢реНрдпрдХ" рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди 12 рд╕реЗ рдиреАрдЪреЗ "" "рдЖрдИрдУрдПрд╕" рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдЕрд░реНрде рд╣реИ, рддреЛ рдпрд╣ рдирд┐рдЪрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ "рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо" рдХреЗ рддрд╣рдд рд╕реНрдЯрд╛рд░реНрдЯ-рдЕрдк рдЪрд░рдг рдкрд░ рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдХрд╛рд░рдг рдмрди рдЬрд╛рдПрдЧрд╛ред "рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрд╡рд╛" рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдг 12 рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ
"рд╡реИрдХрд▓реНрдкрд┐рдХ" рдХреЗ рд░реВрдк рдореЗрдВ рд░реВрдкрд░реЗрдЦрд╛ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкрд╛рда рдмреЙрдХреНрд╕ рд╕рдорд░реНрдерди
рдкрд╛рда рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
textContentType
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдЪрд░
textContentType
UITextInputTraits
ред
UITextField
рд╡рд░реНрдЧ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
textContentType
рдкреНрд░рдХрд╛рд░ рдХрд╛ рдПрдХ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдЗрд╕ рд╕рдордп рд╣рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдЪрд╛рд╣рд┐рдП, рд╡рд╣ рд╣реИ
newPassword
, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдПрдХ рдирдпрд╛ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рд╡рд░реНрддрдорд╛рди рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП
password
рд╕рд╛рде рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред
let passwordTextField = UITextField() if #available(iOS 12, *) { passwordTextField.textContentType = .newPassword }
textContentType
рдорд╛рди рд╕реЗрдЯ рдХрд░рдирд╛ рдПрдХ
"API" рдПрдХреНрд╕реЗрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдЪреЗрдХ рдореЗрдВ рд▓рдкреЗрдЯрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐, рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рддрд░рд╣, рдпрд╣ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗрд╡рд▓ "iOS 12" рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╛рда рдлрд╝реАрд▓реНрдб рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП:
passwordTextField.isSecureTextEntry = true
рдпрджреНрдпрдкрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЫрд┐рдкрд╛рдиреЗ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рд╕рдордп рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рдЙрддреНрдкрдиреНрди рдкрд╛рд╕рд╡рд░реНрдб рдХреЗрд╡рд▓ рддрднреА рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдЭрдВрдбрд╛ рдЗрд╕ рд╕рдордп
true
рд╣реЛред
рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрд┐рдВрджреБ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ: рдпрджрд┐ рдХреЛрдИ рдЕрдиреНрдп рдлрд╝реАрд▓реНрдб рд╕реНрдХреНрд░реАрди рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдХрд╛рд░
username
, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдкреЗрд╢рдХрд╢ рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рди рдХреЗрд╡рд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдмрд▓реНрдХрд┐
рд╕реНрдХреНрд░реАрди рд╕рд╛рдордЧреНрд░реА рдХреЗ рдПрдХ
рд╣реЗрдпреБрд░рд┐рд╕реНрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдЬреЗрдирд░реЗрд╢рди рд╕реНрдХреНрд░реАрди рдХреЗ рд▓реЙрдЬрд┐рдХ рдХреЛ "рдмреНрд░реЗрдХ" рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдмрд╛рд░ рдирдП рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ рдЕрднреА рддрдХ рдЗрди рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХрддрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐
рдореИрдВ рдЕрдХреЗрд▓рд╛ рдирд╣реАрдВ рд╣реВрдВ ред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдпрджрд┐ рд▓реЙрдЧрд┐рди рд╢рдмреНрджрд╛рд░реНрде рд╕реЗ рдПрдХ рдИрдореЗрд▓ рдкрддрд╛ рд╣реИ (рдФрд░ рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреАрдмреЛрд░реНрдб рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ), рдХреАрдмреЛрд░реНрдб рдХреЗ
рдкреНрд░рдХрд╛рд░ рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
let userNameTextField = UITextField() userNameTextField.keyboardType = .emailAddress userNameTextField.textContentType = .username
рдкрд╛рд╕рд╡рд░реНрдб рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ
рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд▓рдВрдмрд╛рдИ, рдХреБрдЫ рд╡рд░реНрдгреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛, рдЖрджрд┐)ред рдЗрди рдирд┐рдпрдореЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдмрдирд╛рддреЗ рд╕рдордп рд╕рд┐рд╕реНрдЯрдо рдЙрдиреНрд╣реЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗред рдпрд╣
UITextInputTraits
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ
passwordRules
UITextInputTraits
рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
if #available(iOS 12, *) { passwordTextField.passwordRules = UITextInputPasswordRules(descriptor: "required: upper; required: lower; required: digit; minlength: 8;") }
рд╕рдВрдкрддреНрддрд┐ рднреА рдХреЗрд╡рд▓ "iOS 12" рд╕реЗ рд╢реБрд░реВ рд╣реЛ рд░рд╣реА рд╣реИред
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдкреНрд░рдХрд╛рд░
UITextInputPasswordRules
ред рдЖрд░рдВрднреАрдХрд░рдг - рдПрдХ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рд╕рдВрднрд╛рд▓ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЕрд░реНрдзрд╡реГрддреНрдд рдХреЗ рд╕рд╛рде рд╕реВрдЪреАрдмрджреНрдз рд╕рд░рд▓ рдкрд╛рд╕рд╡рд░реНрдб рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдПрдХ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реА рд╣реИ, рдЬреЛ рдПрдХ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рд╣реЛрддреА рд╣реИред рдХреБрдВрдЬреА рдирд┐рдпрдо рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╣реИ" -
required
), рдФрд░ рдорд╛рди рд╡рд╣ рддрддреНрд╡ рд╣реИ рдЬреЛ рдЗрд╕ рдирд┐рдпрдо рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрдХ -
digit
)ред
рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╡рд░реНрдгрдирдХрд░реНрддрд╛ рдХрд╛ рдЕрд░реНрде рд╣реИ:
required: upper
- рдХрдо рд╕реЗ рдХрдо рдПрдХ рдкреВрдВрдЬреА рдкрддреНрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ;required: lower
- рдХрдо рд╕реЗ рдХрдо рдПрдХ рд▓реЛрдЕрд░рдХреЗрд╕ рдкрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди;required: digit
- рдХрдо рд╕реЗ рдХрдо рдПрдХ рд▓реЛрдЕрд░рдХреЗрд╕ рдЕрдВрдХ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди;- рдиреНрдпреВрдирддрдо
minlength: 8
- рдиреНрдпреВрдирддрдо рд▓рдВрдмрд╛рдИ рдЖрда рд╡рд░реНрдг рд╣реИред
рд╕рдВрднрд╡ рдХреБрдВрдЬрд┐рдпреЛрдВ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕реВрдЪреА
NSHipster рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдПрдХ
рдЕрдЪреНрдЫреЗ рд▓реЗрдЦ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдФрд░
Apple рдПрдХ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ
рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕рдВрдХрд▓рди рд╕рд╣рд╛рдпрдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рди рдХреЗрд╡рд▓ рдЙрдирдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдПрдХ рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЙрддреНрдкрдиреНрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреА рдЬрд╛рдВрдЪ рднреА рдХрд░рддрд╛ рд╣реИред рд╡рд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рдирд┐рдпрдо рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
рдорд╛рдиреНрдпрддрд╛
рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдкреАрдврд╝реА рддрдВрддреНрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЬреЛ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд╝реАрд▓реНрдб рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рднреА рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрд┐рд▓реНрдбрд░
рдХреНрдпрд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рд╕рдордп рдХреА рднрд╛рд╡рдирд╛ рдореЗрдВ, рд╕рднреА рд╕реВрдЪреАрдмрджреНрдз рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕
"рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрд┐рд▓реНрдбрд░" рдореЗрдВ "рдкрд╛рд╕рд╡рд░реНрдб рдирд┐рдпрдо" рддрдХ рд╕реЗрдЯ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ:

рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХрдИ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ: рдЬрдм рдЖрдк рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдХреБрдЫ рднреВрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдбреАрдмрдЧ" рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рдореЗрдВ, рдЬрдм рд╕рдВрдмрдВрдзрд┐рдд рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
[AutoFill] Cannot show Automatic Strong Passwords for app bundleID: <...> due to error: Cannot save passwords for this app. Make sure you have set up Associated Domains for your app and AutoFill Passwords is enabled in Settings
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рджреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ:
1. рдореИрдВ рдЬреЛрд░ рд╕реЗ рдЪрд╛рдмреА рдХрд╛ рдЧреБрдЪреНрдЫрд╛;
2. рдСрдЯреЛрдлрд┐рд▓ред
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрд╣ рд╕рдм рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдИ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╕рдордп рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдХрд┐рд╕реА рдиреЗ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдПрдХ рдмрд╛рд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реВрдВрдЧрд╛ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд▓реЗрдЦ рдХреЛ рдкреВрд░рдХ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реВрдВред
рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛рдлреА рд░реЛрдЪрдХ рд╣реИ рдФрд░, рдЕрдЧрд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдХреНрд╖рдо рд╣реИ!