如何使用内置的 facebook 帐户在 IOS 中进行 Facebook 登录?

Posted

技术标签:

【中文标题】如何使用内置的 facebook 帐户在 IOS 中进行 Facebook 登录?【英文标题】:How to do Facebook login in IOS using built-in facebook account? 【发布时间】:2014-09-10 13:58:35 【问题描述】:

现在,我的应用程序中的“使用 Facebook 登录”按钮没有显示此对话框

不再,但将我重定向到 Facebook 应用程序。这是正常的吗?是 FacebookSDK 还是我的登录流程有误?我按照Facebook Login for ios的最新说明进行操作

我想创建自己的“使用 Facebook 登录”按钮,但不是重定向到 Facebook 应用程序,而是显示上面的对话框。请帮助我,我不知道在 Google 中搜索的术语。任何人都可以告诉我或指点我一个好的教程吗?谢谢

【问题讨论】:

您是否在 settings.app 中登录 Facebook? 是的,我是......在设置应用程序中,我已经设置了我的 Facebook 帐户 【参考方案1】:

这是由于 Facebook 的 Graph API v2.x 造成的。您应该在此处阅读更改:https://developers.facebook.com/docs/apps/upgrading

【讨论】:

在哪里?我没看到。抱歉,但我认为这不能回答我的问题,即如何让我的应用登录 Facebook 而无需重定向到 Facebook 应用。 @OscarYuandinata developers.facebook.com/blog/post/2014/04/30/… 那么为什么目前一些特色应用在登录 Facebook 时仍然使用上述对话框,而不是重定向到 Facebook 应用?他们是在使用过时的 Facebook SDK 还是什么? 是的,我猜有些人仍在使用早期版本。较早的 SDK 仍然可以在特定时间段内使用,并且会一直工作到用完为止。【参考方案2】:

1) 您可以降级以使用 Facebook SDK v3.13 或更低版本。

2) 您可以使用指定行为FBSessionLoginBehaviorUseSystemAccountIfPresent 登录。

示例代码:

FBSessionStateHandler completionHandler = ^(FBSession *session, FBSessionState state, NSError *error) 
        [self sessionStateChanged:session state:state error:error];
    ;
if ([FBSession activeSession].state == FBSessionStateCreatedTokenLoaded) 
    // we have a cached token, so open the session
    [[FBSession activeSession] openWithBehavior:FBSessionLoginBehaviorUseSystemAccountIfPresent
              completionHandler:completionHandler];
 else 
    [FBSession.activeSession closeAndClearTokenInformation];
    // create a new facebook session
    FBSession *fbSession = [[FBSession alloc] initWithPermissions:@[@"email", @"public_profile"]];
    [FBSession setActiveSession:fbSession];
    [fbSession openWithBehavior:FBSessionLoginBehaviorUseSystemAccountIfPresent
              completionHandler:completionHandler];

参考:Native Facebook Login stopped working after SDK update to 3.14

【讨论】:

以上是关于如何使用内置的 facebook 帐户在 IOS 中进行 Facebook 登录?的主要内容,如果未能解决你的问题,请参考以下文章

如何在请求会话之前检测用户是不是有 iOS 集成 Facebook 帐户设置?

如何通过我的 iOS 应用访问不同的 Facebook 帐户

适用于 iOS 的 Facebook SDK 登录

如何在 iOS UIwebview 中获取 Facebook 访问令牌?

iOS Facebook 帐户工具包 - 成功登录后第二次打开应用程序时保留用户令牌

ios - 一台设备上的多个 Facebook 帐户