Ios 使用azure sdk成功登录facebook后,webview保持打开状态
我正在使用facebook从Azure SDK登录,我在按钮中使用以下代码:Ios 使用azure sdk成功登录facebook后,webview保持打开状态,ios,objective-c,facebook,webview,azure-sdk,Ios,Objective C,Facebook,Webview,Azure Sdk,我正在使用facebook从Azure SDK登录,我在按钮中使用以下代码: -(void)fblogin { [_azureService.client loginWithProvider:@"facebook" urlScheme:@"dribel" controller:self animated:YES completion:^(MSUser * _Nullable user, NSError * _Nullable error) {
-(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];
}
}];
}
像这样的网络视图,打开并执行所有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;
}
}
-(BOOL)应用程序:(UIApplication*)应用程序openURL:(NSURL*)url选项:(NSDictionary*)选项
{
if([[url.scheme lowercasesetring]isEqualToString:@“dribel”])
{
//恢复登录流
返回[self.azureService.client resumeWithURL:url];
}
否则{
返回否;
}
}
但是webview应该被删除,删除后代码应该放在第一段代码的else语句上,但它什么也没做。我必须按“完成”键,并在“如果是真的”语句上着陆,它说我取消了它。有人知道什么地方可能出错吗
我们在azure门户中设置了外部url,以重定向到正确的appname://因此,我们在应用程序委托中实现了这一点。但是还缺少什么呢?如果是开源sdk,请自己调试。您需要知道的是safariview控制器!azure文档没有显示在何处或如何取消它,因为它是从azure框架内部调用的,但是他们的示例“很有效”。我的工作日程排得很紧,不能花时间下载开源项目并进行调试,以根据他们的文档找出一些应该工作的东西。谢谢你的回复。我会再次检查或联系微软,看看是否有bug,但我不能在公司工作时间处理其他事情。