Создание плагина аутентификации OS X

Мне нужно создать плагин для механизма входа в OS X, чтобы я мог разблокировать экран не путем ввода пароля. Я знаю, что такие вещи уже существуют - например, Knock to unlock или Rohos USB key logon.

Я нашел пример кода в АЦП под названием "NameAndPassword" ( https://developer.apple.com/library/mac/samplecode/NameAndPassword/Introduction/Intro.html) и после некоторой борьбы ( пользовательский экран входа / блокировки в OS X Маверикс) Мне удалось собрать и установить его на Маверикс. Проблема в том, что весь плагин, по-видимому, немного устарел и не регистрирует меня после ввода пароля (мне нужно перезагрузить компьютер через SSH). Я новичок в xcode/ target-c и не могу решить проблему самостоятельно.

По сути, мой вопрос: как изменить пример кода NameAndPassword, чтобы я мог войти с помощью ввода, отличного от клавиатуры? Я хочу создать приложение, которое будет предоставлять пароль, но не через клавиатуру - я уверен, что Knock для разблокировки работает.

2 ответа

Решение

В официальном коде Apple есть ошибки. Я залатал их и поставил на свой Github: https://github.com/skycocker/NameAndPassword

Эта версия плагина должна работать нормально, если вы замените

<string>loginwindow:login</string>

строка в базе данных политики авторизации с

<string>NameAndPassword:invoke</string> 

В противном случае он не будет входить в систему.

Я работаю над той же проблемой, я также новичок в Obj-C. Я провел некоторый анализ Knock для разблокировки приложения, и он не авторизует права system.login.console, он определяет свое собственное правило И при блокировке компьютера он вызывает экранную заставку с правом блокировки на себя. Это не плагин авторизации, как образец NameAndPassword. Он не установлен в системную папку SecurityAuthorizationPlugins, он зарегистрирован как агент входа в систему для пользователя.

И я также застрял на проблеме с плагином NameAndPassword. Удалось ли вам войти в систему с помощью (даже с клавиатуры) плагина NameAndPassword?

Другие вопросы по тегам