2

iOS6に問題があります。これは、Webインターフェイスを介してアクセス許可が削除された後、アプリが再認証できないことです。

その状態はiOS設定で「オン」のままであり、OAuthの現在の状態を反映していません

これにより、アプリが認証を試みたがOAuthエラーが発生した場合に問題が発生します

また、組み込みのFacebook設定から手動で権限を削除する方法はないようです

誰かが同様の問題に直面しましたか?考えられる回避策はありますか?

4

3 に答える 3

1

iOS キャッシュ内の Facebook アクセス トークンが Facebook と同期していない場合は、資格情報の同期を強制できます。

// Only do this if there is native Facebook Account support (iOS 6+)
BOOL isFacebookAccountsAvailable = (&ACAccountTypeIdentifierFacebook != NULL);
if (isFacebookAccountsAvailable) {
    ACAccountStore *accountStore = [ACAccountStore new];
    ACAccountType *accountTypeFB = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierFacebook];
    NSArray *fbAccounts = [accountStore accountsWithAccountType:accountTypeFB];

    for (ACAccount *fbAccount in fbAccounts)
        [accountStore renewCredentialsForAccount:fbAccount completion:^(ACAccountCredentialRenewResult renewResult, NSError *error) {
            DLog(@"Renew account error: %@", error.localizedDescription)
        }];
}
于 2013-03-27T22:34:38.447 に答える
0

私はほとんど同じ問題を抱えています。Facebook Web サイトのアプリケーション リストからアプリケーションを削除しようとしました。ログアウトして再度ログインすると、同じ無効なトークンが返されます。iPhone の設定に移動して、アプリの Facebook アクセスを無効にする必要があります。これにより、トークンがリセットされます。

SDK はメソッドを提供します

[FBSession.activeSession closeAndClearTokenInformation];

しかし、それはこの問題を解決しません。

于 2012-09-28T13:28:33.773 に答える
0

Facebook SDK の最新のアップデートにより、ケースは正しく処理されているようです

于 2013-03-29T09:23:17.797 に答える