SFAuthorizationPluginПросмотреть идентифицирующую кнопку «НАЗАД» - PullRequest
1 голос
/ 16 декабря 2009

Кто-нибудь, кто имеет опыт работы с SFAuthorizationPluginView, знает, как определить, кто нажимает «Отмена» и «Назад». Моя проблема в том, что SFButtonTypeCancel идентичен SFButtonTypeBack , следовательно, оператор switch завершится неудачно во время компиляции, а оператор , если не будет признать разницу.

Это не проблема при отображении экрана входа в систему как «имя и пароль», но при отображении как «Список пользователей», обработка «Назад» как «Отмена» заставляет окно входа в систему перезагружаться, вместо того, чтобы красиво переключаться на список.

С уважением Alan

1 Ответ

0 голосов
/ 17 декабря 2009

Чтобы ответить на мой собственный вопрос, в окне входа в систему есть кнопка ОТМЕНА при быстром переключении пользователей и кнопка НАЗАД, когда на экране входа в систему, поэтому мне удалось определить между двумя кнопками следующий код:

    CFStringRef str_console_uname;
    uid_t       uid;
    gid_t       gid;

    // get console username
    str_console_uname = SCDynamicStoreCopyConsoleUser(NULL,
                                                      &uid,
                                                      &gid);
    if (!str_console_uname ||
        [(NSString *)str_console_uname compare:@"loginwindow"] == 0)
    {
        /* BACK BUTTON */
    }
    else
    {
        /* CANCEL BUTTON */
    }
...