使用IOS6设置在两个帐户之间切换

时间:2013-04-04 16:03:21

标签: facebook ios6

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

我已经读过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的设置,这不是解决方案。

有没有人可以尝试更多选择?

谢谢!

门票我知道:

0 个答案:

没有答案