0

我正在使用 Azure SDK 中的 facebook 登录,我正在按钮中使用以下代码:

-(void)fblogin
{
        [_azureService.client loginWithProvider:@"facebook" urlScheme:@"dribel" controller:self animated:YES completion:^(MSUser * _Nullable user, NSError * _Nullable error)
         {
             if (error)
             {
                 NSLog(@"Login failed with error: %@, %@", error, [error userInfo]);
             }
             else
             {
                 _azureService.client.currentUser = user;

                 NSLog(@"User logged in: %@", user.userId);


                 [self fblogin];
             }
         }];
    }

像这样的 webview,打开并完成所有 facebook 登录过程......

保持这样,不会消失

当它结束时,它会在应用程序委托中调用以下方法,因为它是真的,它会恢复登录流程......

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    if ([[url.scheme lowercaseString] isEqualToString:@"dribel"])
    {
        // Resume login flow
        return [self.azureService.client resumeWithURL:url];
    }
    else {
        return NO;
    }
}

但是 webview 应该被解散,并且在被解散后,代码应该落在第一段代码的 else 语句上,但它什么也没做。我必须按下完成并登陆 if true 声明,它说我取消了它。有谁知道可能出了什么问题?

我们已经在 azure 门户中设置了外部 url 以重定向到正确的 appname:// 所以这就是我们在应用程序委托中实现它的原因。但是还缺少什么?

4

0 回答 0