过去两天我一直在尝试为我的应用连接多个帐户,但没有成功。
我读到 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 的设置,这不是解决方案。
有人有更多我可以尝试的选择吗?
谢谢!
我知道的门票: