• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 首次尝试登录时,iOS 中的 Facebook 登录未打开 Safari

[复制链接]
菜鸟教程小白 发表于 2022-12-13 01:36:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我的应用登录屏幕

enter image description here

第一次尝试 facebook 登录按钮无法打开 safari 浏览器,而第二次尝试它工作正常。

以下是我尝试过的代码:

FBSDKLoginManager *manager = [FBSDKLoginManager new];
manager.loginBehavior = FBSDKLoginBehaviorBrowser;
NSArray *permissions = @[@"email",@"public_profile"];
[manager logInWithReadPermissions:permissions fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error){

    if(error) {
        [self showAlertWith"Oops!" message"Login Failed, try again" handler:nil];
        return;
    }
    if(result.isCancelled) {
        [self showAlertWith"Oops!" message"Login Failed, try again" handler:nil];
        return;
    }else {
        [[[FBSDKGraphRequest alloc] initWithGraphPath"me"
                                           parameters{@"fields": @"picture, name, email"}]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id userinfo, NSError *error) {
             if(!error) {
                 if([FBSDKAccessToken currentAccessToken]) {
                     [self makeGraphRequest];
                 }
             }else {
                 EKLog(@"error %@", error);
             }
         }];
    }
}];

第一次点击登录按钮时会调用loginWithReadPermission,但不会调用回调 block ,而再次点击则会调用回调处理程序。任何帮助将不胜感激。



Best Answer-推荐答案


如果可行,您可以尝试一种解决方案!

FBSDKLoginManager *manager 声明为实例变量或属性,并在 viewDidload 中对其进行初始化,如,

 FBSDKLoginManager *manager = [FBSDKLoginManager new];

然后使用!!这可能是由于本地声明而发生的!

关于ios - 首次尝试登录时,iOS 中的 Facebook 登录未打开 Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44236733/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap