gpt4 book ai didi

cocoa - SFAuthorizationView授权: method does not work

转载 作者:行者123 更新时间:2023-12-03 17:08:26 26 4
gpt4 key购买 nike

我在我的应用程序中使用了 SFAuthoizationView,并且我正在尝试从我的代码中调用授权方法,以提示用户在当前未授权的情况下进行授权。

我的问题是这个方法似乎不起作用!

我的代码如下,其中authViewSFAuthorizationView,authorizeMe是单击按钮时调用的方法(并且日志消息确实显示,所以我知道它被调用了)。

如果锁被锁定,授权消息只会返回 false,并且似乎不会提示用户输入密码。

有人知道这是怎么回事吗?

- (void) mainViewDidLoad {
[authView setDelegate:self];
[authView setString:"Test String"];
[authView setAutoupdate:YES];
}

- (IBAction)authorizeMe:(id)sender {
NSLog(@"Authorizing...");
[authView authorize:authView];
}

- (void)authorizationViewDidAuthorize:(SFAuthorizationView *)view {
self.enabled = YES;
}

- (void)authorizationViewDidDeauthorize:(SFAuthorizationView *)view {
self.enabled = NO;
}

最佳答案

我也遇到了同样的问题,并且我注意到了一些事情。

为了使 SFAuthorizationView 授权方法与用户交互,您必须在初始化 SFAuthorizationView 时设置这两个标志:

AuthorizationFlags flags = kAuthorizationFlagInteractionAllowed | kAuthorizationFlagExtendRights;
[m_authView setFlags:flags];

但是,我不认为 SFAuthorizationView 被设计为以这种方式使用。

设置这些标志后,调用 [m_authView updateStatus:m_authView];导致提示用户输入管理员凭据,并且如果您设置 [m_authView setAutoupdate:YES];系统会随机提示用户输入密码,并且当用户单击“取消”时提示不会消失!

我相信 SFAuthorizationView 授权方法会故意抑制用户交互。

似乎还有另一种方法可以调用而不是授权:(void)buttonPressed:(id)sender。此方法没有记录,并且会生成编译警告,但它确实可以在 10.6 上运行。

关于cocoa - SFAuthorizationView授权: method does not work,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/988747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com