5

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

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

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

回答

6

苹果官方代码中有一些错误。我修补他们把我Github上:https://github.com/skycocker/NameAndPassword

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

<string>loginwindow:login</string> 

线在授权策略数据库

<string>NameAndPassword:invoke</string> 

否则它不会登录你。

+0

是否这样,插件不工作......有什么想法? –

+0

你是这样做的吗? http://stackoverflow.com/questions/21582995/custom-login-lock-screen-in-os-x-mavericks/21618085#21618085 –

+0

我做到了,现在我得到了插件的工作。但是,它仅在从Apple菜单/注销菜单中注销时有效...是否有一种方法可以将其设置为主登录机制,因此在计算机启动时显示它? –

0

我正在研究同样的问题,我也是Obj-C初学者。我已经做了一些关于Knock解析应用程序的分析,并且它没有授权system.login.console权限,它正在定义它自己的规则,并且锁定它称为屏幕保护程序的计算机并锁定它自己的权限。它不是像NameAndPassword示例那样的授权插件。它未安装到SecurityAuthorizationPlugins系统文件夹,它被注册为用户的loginAgent。

而且我也被卡在了NameAndPassword插件的问题上。您是否成功登录(即使使用键盘)NameAndPassword插件?

+0

我没有设法修复NameAndPassword **但是**,但我打算使用anoth呃Mac和[使用Xcode远程调试](https://developer.apple.com/library/mac/technotes/tn2108/_index.html)。 –

+0

好了,经过一番努力,我调试了NameAndPassword插件,我不得不承认它到目前为止并没有工作 - 它要求Xcode <4远程调试,并且当我设法在10.9的VM上安装Xcode 3.2.6我无法在那里建立插件。你可以看到更多关于它的讨论[这里](http://stackoverflow.com/questions/21056322/customize-login-screen-mac-osx-sfauthorizationpluginview#comment33224960_21056322)。你知道关于这个loginAgent的更多信息吗?我无法谷歌它。看起来这将是一个更好的方法 - auth插件似乎不推荐使用。 –

+0

我解决了这个问题。看看答案http://stackoverflow.com/a/22050896/2113110 –