2017-05-29 13 views
2

マイアプリログイン画面Facebookの初めてログインしようとしたときのiOSでのログインがサファリを開いていない

enter image description here

最初の試みのFacebookのログインボタンには、第二のに対し、サファリブラウザを開きません。それはうまく動作しようとします。もう一度クリックする一方、コールバックハンドラが呼び出され、初めて呼ばれますが、コールバックブロックが呼び出されることはありませんloginWithReadPermissionため

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); 
      } 
     }]; 
    } 
}]; 

クリックすると、ログインボタン:

以下は私の試したコードです。どんな助けでも感謝します。

+0

次を参照:https://stackoverflow.com/a/40089906/3901620 – KKRocks

答えて

2

動作する場合は、1つのソリューションを試すことができます。

は、

FBSDKLoginManager *manager = [FBSDKLoginManager new]; 

そして使用し、インスタンス変数またはプロパティとしてFBSDKLoginManager *managerを宣言するなどviewDidloadでそれを初期化!!地元の宣言のために起こったかもしれません!

関連する問題