轻松为你的 iOS 应用添加密码保护
PasscodeKit 被拆分成两个模块,你可以根据你的需求选择主模块或核心模块。
默认模块,已预先设置了 UI 和处理逻辑。只需将 .passcode(title:hint:)
(可选择带有标题和提示视图)添加到你的根视图即可。
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.passcode("Enter Passcode") {
// Optional view as a hint above the code view
}
}
}
}
密码必须由用户设置才能使用。你可以将此修饰符添加到任何视图以启动设置。
.setupPasscode(isPresented: $setupPasscode, type: .numeric(6))
要再次移除密码,请使用环境变量来访问 。你还可以设置 manager 环境变量来覆盖用于存储数据的 Keychain 实例和密钥。
@Environment(\.passcode.manager) private var passcodeManager
然后只需移除密码的条目。
passcodeManager.delete()
核心模块,负责处理显示密码窗口。默认情况下,它没有用于输入密码或设置和存储密码的 UI,但你可以使用它作为基础来实现你自己的 UI。
.passcode(mode: PasscodeMode) { dismiss in
// some Passcode input UI, call `dismiss(animated:)` once finished
} background: {
// some optional background view
}
通过在你的主应用 bundle 中提供一个 Passcode.strings
文件来自定义/本地化 PasscodeKit
。请参阅默认的 Passcode.strings 文件以获取英文字符串。
将以下包 URL 添加到 Xcode
https://github.com/divadretlaw/PasscodeKit
选择你需要的模块
let package = Package(
dependencies: [
.package(url: "https://github.com/divadretlaw/PasscodeKit.git", from: "0.7.0")
],
targets: [
.target(
name: <#Target Name#>,
dependencies: [
.product(name: "PasscodeKit", package: "PasscodeKit")
]
)
]
)
请参阅 LICENSE