用于检查 OS X 设备是否受密码保护的 API

Vic*_*nin 5 authentication macos

我正在寻找一个 API 来检查 MacBook 是否受密码保护。

我知道 iOS 上有类似的 API:

 LAContext *laContext = [[LAContext alloc] init];
 BOOL passcodeSet = [laContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error: &authError];
Run Code Online (Sandbox Code Playgroud)

不幸的是,当您将密码设置为空和/或打开自动登录时,这总是返回 true。我与苹果公司核对过,这是预期的行为。

是否有任何其他 API 允许(直接或间接)获取密码状态?

更新 1

看起来我使用了一些不正确的术语。我正在尝试检查用户帐户是否受密码保护(而不是整个 mac 受密码保护)。然而,话虽如此,但对于大多数拥有 macOS 设备并且只有一个活动帐户的最终用户来说,这几乎是一样的。

nul*_*ube 3

我不确定是否有任何 API,但您可能想查看 /etc/passwd 文件。用户的第二个字段表示密码。如果没有任何内容,您可能没有登录密码。另一方面,如果您在此字段上有一个 x,则您有一个与之关联的密码,并且它可能位于 /etc/shadow 文件中