是否有使用 SFAuthorizationPluginView 经验的人知道如何识别用户按下“取消”和“返回”。我的问题是SFButtonTypeCancel 与SFButtonTypeBack相同,因此switch语句将在编译时失败,并且if语句将无法识别差异。
将登录屏幕显示为“名称和密码”时这不是问题,但是当显示为“用户列表”时,将“返回”处理为“取消”会使登录窗口重新启动,而不是很好地切换到列表。
问候艾伦
是否有使用 SFAuthorizationPluginView 经验的人知道如何识别用户按下“取消”和“返回”。我的问题是SFButtonTypeCancel 与SFButtonTypeBack相同,因此switch语句将在编译时失败,并且if语句将无法识别差异。
将登录屏幕显示为“名称和密码”时这不是问题,但是当显示为“用户列表”时,将“返回”处理为“取消”会使登录窗口重新启动,而不是很好地切换到列表。
问候艾伦
为了回答我自己的问题,登录窗口在快速用户切换时有一个 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 */
}