一个用于定义强密码生成规则的 Swift 库。
此功能在 NSHipster 的文章 密码规则 / UITextInputPasswordRules 中进行了讨论。
将 PasswordRules 包添加到您的 Package.swift
文件中的目标依赖项中
import PackageDescription
let package = Package(
name: "YourProject",
dependencies: [
.package(
url: "https://github.com/NSHipster/PasswordRules",
from: "1.0.0"
),
]
)
然后运行 swift build
命令来构建您的项目。
要使用 Carthage 在您的 Xcode 项目中使用 PasswordRules,请在 Cartfile
中指定它
github "NSHipster/PasswordRules" ~> 1.0.0
然后运行 carthage update
命令来构建 framework,并将构建好的 PasswordRules.framework 拖到您的 Xcode 项目中。
定义一个 PasswordRules
枚举案例数组,并使用 descriptor(for:)
方法创建一个字符串表示形式
import PasswordRules
let rules: [PasswordRule] = [ .required(.upper),
.required(.lower),
.required(.special),
.minLength(20) ]
let descriptor = PasswordRule.descriptor(for: rules)
// "required: upper; required: lower; required: special; minlength: 20;"
使用描述符初始化一个 UITextInputPasswordRules
对象,并将其传递给安全文本字段的 passwordRules
属性
import UIKit
guard #available(iOS 12, *) else {
fatalError()
}
self.passwordTextField.passwordRules =
UITextInputPasswordRules(descriptor: descriptor)
MIT
NSHipster (@NSHipster)