1

SFAuthorizationPluginView の経験がある人は、ユーザーが「キャンセル」と「戻る」を押していることを識別する方法を知っていますか? 私の問題は、SFButtonTypeCancelがSFButtonTypeBack と同じであるため、コンパイル時にswitchステートメントが失敗し、 ifステートメントが違いを認識しないことです。

ログイン画面を「名前とパスワード」で表示している場合は問題ありませんが、「ユーザー一覧」で表示している場合、「戻る」を「キャンセル」として扱うと、うまく一覧に移行せずにログイン画面が再起動してしまいます。

よろしくアラン

4

1 に答える 1

0

私自身の質問に答えるために、ログインウィンドウにはユーザーの高速切り替え時に[キャンセル]ボタンがあり、ログイン画面にあるときは[戻る]ボタンがあるため、次のコードで2つのボタンを識別できました。

    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 に答える