UIDevice-PasscodeStatus 0.0.2

UIDevice-PasscodeStatus 0.0.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新版本2019年4月

Liam Nichols 维护。



UIDevice-PasscodeStatus

一个 UIDevice 分类,用于确定是否在设备上设置了密码。

要求

  • iOS 8
  • 实体设备

工作原理

此分类通过使用 iOS 8 中 Security.Framework 添加的新 accessControl 功能来实现。它尝试使用 kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly 保护级别向密钥链中添加一个项。

文档中声明如下:

项数据只能在设备解锁时访问。此类仅在设备上设置密码时可用。此功能适用于仅在应用程序前台运行时需要访问的项目。具有此属性的项永远不会迁移到新设备,因此,在新设备上恢复备份后,这些项将丢失。在无密码的设备上无法在此类中存储项。禁用设备密码将导致删除此类中所有项。

因此,当您尝试使用这种访问控制级别添加或读取密钥链中的项时,会返回错误。如果我们看到这个错误,则 passcodeStatus 返回为 UIDevicePasscodeStatusDisabled。如果我们可以成功使用此级别的访问控制读取或写入密钥链,则返回 UIDevicePasscodeStatusEnabled

如果设备不受支持或者密钥链返回了无关的错误,我们将返回 UIDevicePasscodeStatusUnknown

安装

CocoaPods
pod 'UIDevice-PasscodeStatus', '~> 0.0'

手动
只需将 Source/ 目录中的类复制到您的项目,并导入 Security.Framework