一个用于定义强密码生成规则的 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)