1

是否有使用 SFAuthorizationPluginView 经验的人知道如何识别用户按下“取消”和“返回”。我的问题是SFButtonTypeCancelSFButtonTypeBack相同,因此switch语句将在编译时失败,并且if语句将无法识别差异。

将登录屏幕显示为“名称和密码”时这不是问题,但是当显示为“用户列表”时,将“返回”处理为“取消”会使登录窗口重新启动,而不是很好地切换到列表。

问候艾伦

4

1 回答 1

0

为了回答我自己的问题,登录窗口在快速用户切换时有一个 CANCEL 按钮,在登录屏幕中有一个 BACK 按钮,因此我设法通过以下代码识别这两个按钮:

    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 */
    }
于 2009-12-17T10:14:24.513 回答