ios - 首次尝试登录时,iOS 中的 Facebook 登录无法打开 safari

标签 ios facebook authentication fbsdk

我的应用登录屏幕

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 ,而再次单击时,则会调用回调处理程序。任何帮助将不胜感激,谢谢。

最佳答案

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

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

 FBSDKLoginManager *manager = [FBSDKLoginManager new];

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

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

相关文章:

android - 获取已注册 android 帐户的 Facebook ID

php - Javascript PHP 更新所有打开的实例,例如 Facebook

php - 使用 crypt() 对数据库进行哈希处理后 PHP 登录脚本出现问题

python - Django 错误 : UNIQUE constraint failed: auth_user. 用户名

authentication - Symfony2 OAuth2 登录陷入无限重定向循环

ios - 在 iOS 应用程序中根据光线更改 map 主题。位智是如何做到的?

ios - 如何检测视频文件是纵向录制的还是 iOS 中的横向录制的

ios - 'autorelease is unavailable' 错误和 'ARC forbids explicit message send of autorelease' 错误

ios - 如何从 Swift 中的数组中获取最新日期

android - 从 Facebook 获取相册