当iPhone安装了Facebook应用程序时,使用Facebook登录失败。

4
我遇到了Facebook登录问题。如果iPhone上没有安装Facebook应用程序,则会在浏览器中打开Facebook登录,并且重新安装我的应用程序后可以正常工作。但是,如果我在iPhone上安装Facebook应用并测试Facebook登录,则会通过我的应用程序进行,如果首次登录则可以正常工作。使用Facebook登录后,如果我删除我的应用程序并重新安装它,则不会打开登录页面,并出现错误-“无效的sso_key参数。密钥com.boxscoregames.S1与任何允许的包ID都不匹配。请在http://developers.facebook.com/apps/265799363556746上配置您的iOS包ID。”
这是我的Facebook登录代码-
-(void)loginViewShowingLoggedInUser:(FBLoginView *)loginView
{
  NSLog (@"You are logged in.");
}
-(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user
{
   NSLog(@"%@",user);
   globalUserName = [NSString stringWithFormat:@"fb%@",[user objectForKey:@"id"]];
   globalEmail = [user objectForKey:@"email"];
   globalUserId = [user objectForKey:@"id"];
   globalFirstName = [user objectForKey:@"first_name"];
   globalLastName = [user objectForKey:@"last_name"];
   globalProfilePic = user.objectID;
   fbAccessToken = [[[FBSession activeSession]accessTokenData]accessToken];
   hud = [appDel indicator];
   [self.view addSubview:hud];

   BOOL internetBool = [appDel isInternetReachable];
   if (internetBool) {
    NSLog(@"Internet is there");
    [hud show:YES];
    [self fbLoginWebService];    }
  else
  {
    [self showAlertWithMessage:@"No network connection. Please try again."];
  }
}
-(void)loginViewShowingLoggedOutUser:(FBLoginView *)loginView
{}
-(void)loginView:(FBLoginView *)loginView handleError:(NSError *)error
 {
    NSLog(@"%@",[error localizedDescription]);
 }
2个回答

3

我知道我来晚了,但是有人可能会觉得这很有用。如Ming Li所说,您的束标识有问题。您必须将其更改为Xcode的束标识。两个标识必须匹配。最简单的方法是按照https://developers.facebook.com/quickstarts/快速入门指南,在“向我们提供您的束标识”部分中,只需复制并粘贴您的Xcode束标识即可。对我有效。


谢谢,这也对我有帮助! - Drew S.

0

你有去过那个URL吗?如果是的话,你会看到那里配置的捆绑标识符不是com.boxscoregames.S1,这就是为什么SSO对你而言失败的原因。

如果com.boxscoregames.S1是你的捆绑标识符,那么你应该在iOS部分中添加它https://developers.facebook.com/apps/265799363556746/settings/


但是如果通过浏览器访问,它就能正常工作。 - Chaaruu Jadhav
这是因为浏览器不能检查调用应用程序的捆绑标识。 - Ming Li
1
我使用这段代码“_loginButton.loginBehavior = FBSessionLoginBehaviorForcingSafari;”解决了问题。非常感谢您的回复。 - Chaaruu Jadhav
1
请不要这样做。对于那些实际安装了FB应用程序的人来说,这将是更糟糕的用户体验(它将转到Safari,他们可能不会登录Facebook,并被迫在那里登录)。只需在您的应用程序中修复您的捆绑标识符即可。如果您不修复捆绑标识符,使用SDK将出现其他问题。 - Ming Li

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接