7

我需要为 OS X 登录机制创建一个插件,以便我可以通过输入密码以外的其他方式解锁屏幕。我知道这样的事情已经存在 - 敲门解锁或 Rohos USB 密钥登录就是例子。

我在 ADC 上找到了名为“NameAndPassword”(https://developer.apple.com/library/mac/samplecode/NameAndPassword/Introduction/Intro.html)的示例代码,经过一番努力(OS X 中的自定义登录/锁定屏幕) Mavericks ) 我设法在 Mavericks 上构建和安装它。问题是整个插件显然有点过时并且在我输入密码后没有登录(我需要通过 SSH 重新启动机器)。我是 xcode/objective-c 初学者,无法自己解决问题。

基本上,我的问题是:如何修改示例 NameAndPassword 代码,以便我可以使用键盘以外的输入登录?我想创建一个应用程序来提供密码,但不是通过键盘提供密码——我相信这就是敲门解锁的工作原理。

4

2 回答 2

7

苹果官方代码中存在一些错误。我修补了它们并放在我的 Github 上:https ://github.com/skycocker/NameAndPassword

这个版本的插件应该可以正常工作,只要你替换

<string>loginwindow:login</string>

在授权策略数据库中使用

<string>NameAndPassword:invoke</string> 

否则它不会让你登录。

于 2014-02-26T19:09:00.247 回答
0

我正在解决同样的问题,我也是 Obj-C 初学者。我已经对敲门解锁应用程序进行了一些分析,它没有授权 system.login.console 正确,它正在定义自己的规则并且在锁定计算机时它调用屏幕保护程序并对其自身进行锁定。它不是像 NameAndPassword 示例那样的授权插件。它没有安装到 SecurityAuthorizationPlugins 系统文件夹中,它被注册为用户的 loginAgent。

而且我也被 NameAndPassword 插件的问题所困扰。您是否使用(甚至使用键盘)NameAndPassword 插件成功登录?

于 2014-02-17T17:17:40.700 回答