6

新しいfacebook-ios-sdk 3.0(以前のバージョン、2.xなど)を使用するようにコードベースを改訂しました。既存のアクセストークンをFacebookに移行するiOS SDK 3.0

既にアプリの権限を与えていたユーザー/ SDKの以前の実装でログインしていたユーザーを説明していないことが分かったところですべてうまくいった。だから私はaccessTokenはNSUserDefaultsに保存されたかどうかを確認しようとした、もしそうであれば、セッションを開くために電話をかける:

if ([[NSUserDefaults standardUserDefaults] objectForKey:@"FBAccessTokenKey"] && 
     [[NSUserDefaults standardUserDefaults] objectForKey:@"FBExpirationDateKey"]) { 
     [FBSession openActiveSessionWithPermissions:permissions 
             allowLoginUI:allowLoginUI 
            completionHandler:^(FBSession *session, 
                 FBSessionState status, 
                 NSError *error) { 
     // deal with state change 
     } 

私の仮定ユーザーはSSOのための高速アプリケーションスイッチに持っていないということでした、彼らはすでに持っていたからです。しかし、それはまさに何が起こるかです。

既存のすべてのユーザーに、アップグレード時に再ログインする必要はありません。

誰も再ログインせずに正常にアップグレードしましたか?

ありがとうございました

答えて

2

私はFacebook SDK 3.0でアプリをアップグレードしましたが、うまくいきました。 Facebook SDKはトークン自体を処理しますが、引き続きaccessTokenにアクセスできます。

あなたはそうのように、いつでもそれを達することができる:なしトークンが設定されていない場合

NSString *accessToken = [FBSession activeSession].accessToken; 

これはaccessTokenかnilを返します。セッションでトークンキャッシング・ルールセットを定義することもできます。楽しい。

関連する問題