1

过去两天我一直在尝试为我的应用连接多个帐户,但没有成功。

我读到 Facebook SDK 可能存在无法正确清除缓存令牌的问题。我使用的是 3.1.1 版。

这是怎么回事。

从全新安装:

  • 连接到帐户 1。
  • 启动游戏并成功登录。一切都很好。
  • 关闭游戏
  • 转到设置并更改为帐户 2。
  • 启动游戏,登录失败。

我收到来自 openActiveSessionWithReadPermissions 的错误代码:FBSessionStateClosedLoginFailed 即使我在 Facebook 要求我允许访问我的信息时按下 OK 按钮,返回的授权变量也会说 NO。

不幸的是,我所做的研究给我带来了多种失败的解决方案。我尝试使用此功能重新同步:

- (void)fbResync
{
    ACAccountStore *accountStore;
    ACAccountType *accountTypeFB;
    if ((accountStore = [[ACAccountStore alloc] init]) && (accountTypeFB = [accountStore     accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook] ) )
    {

    NSArray *fbAccounts = [accountStore accountsWithAccountType:accountTypeFB];
    id account;
    if (fbAccounts && [fbAccounts count] > 0 && (account = [fbAccounts objectAtIndex:0]))
    {

        [accountStore renewCredentialsForAccount:account completion:^(ACAccountCredentialRenewResult renewResult, NSError *error)
        {
            //we don't actually need to inspect renewResult or error.
            if (error){

            }
        }];
    }
}

fbAccounts 总是返回一个空数组。所以我不能真正重新同步。

我还尝试在我的状态开关中清除 facebook 令牌

case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
{
     [FBSession.activeSession close];
     [FBSession.activeSession closeAndClearTokenInformation];
     // Clear out the Facebook instance


     [self.facebook logout];
     self.facebook.accessToken = nil;
     self.facebook.expirationDate = nil                                       

}break;

无论我做什么,似乎我都无法完全摆脱我的 facebook 令牌。我发现的唯一方法是重置 IPAD 的设置,这不是解决方案。

有人有更多我可以尝试的选择吗?

谢谢!

我知道的门票:

4

0 回答 0