[Ios] 無効なセッショントークンを解析する(コード:209、バージョン:1.7.1)


Answers

このページをhttps://parse.com/tutorials/session-migration-tutorialください: https://parse.com/tutorials/session-migration-tutorial : https://parse.com/tutorials/session-migration-tutorial

あなたのアプリは従来のセッショントークンを使用していた可能性があります。 アプリIDとクライアントキーを設定した直後に、これをアプリケーションデリゲートに追加することで、取り消し可能なセッショントークンに移行することができます。

    [PFUser enableRevocableSessionInBackground];

ParseのWebサイトには、このエラーを処理するためのセクションがあります。これは、さらに役立つかもしれませんhttps://www.parse.com/docs/ios_guide#sessions-handleerror/iOS : https://www.parse.com/docs/ios_guide#sessions-handleerror/iOS

Question

私はParseとFacebookの両方のSDK(それぞれ1.7.1と4.0)を更新しています - 両方とも、私が追加するかもしれない作業をする絶対的な痛みでした!

しかし、ここでfacebookでログインしようとすると209エラーが表示されます

- (void)loginWithFacebook:(HMSuccessBlock)completion{
NSArray *permissionsArray = @[@"user_about_me",@"user_location",@"user_friends",@"user_relationships"];

// Login PFUser using Facebook

[PFFacebookUtils logInInBackgroundWithReadPermissions:permissionsArray block:^(PFUser *user, NSError *error) {
    if (!user) {
        NSLog(@"Uh oh. The user cancelled the Facebook login.");
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Log In Error"
                                                        message:error.localizedDescription
                                                       delegate:nil
                                              cancelButtonTitle:nil
                                              otherButtonTitles:@"Dismiss", nil];
        [alert show];
        completion(NO, error);

    } else if (user.isNew) {
        NSLog(@"User signed up and logged in through Facebook!");
        if (completion) {
            completion(YES, nil);
        }
    } else {
        NSLog(@"User logged in through Facebook!");
           completion(YES, nil);
    }
}];

}

次の[エラー]:セッショントークンが無効です(コード:209、バージョン:1.7.1)

私の最初の考えは、問題は、アプリケーションデリゲートの私のコードと関係があるということです。古いバージョンのfacebooksdkでは、次のコードを適用します

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [FBAppCall handleOpenURL:url
              sourceApplication:sourceApplication
                    withSession:[PFFacebookUtils session]];

}

しかし、私は更新されたバージョンでこれを複製する何かを見つけることができないので、私のコードは

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                      openURL:url
                                            sourceApplication:sourceApplication
                                                   annotation:annotation];

}

どんな助けでも大歓迎です




私はいくつかのステップを追う必要があると思う:

  1. applicationDidBecomeActive [FBSDKAppEvents activateApp]を追加する必要がありapplicationDidBecomeActive

  2. あなたは書くべきです
    return [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions]; didFinishLaunchingWithOptionsメソッドdidFinishLaunchingWithOptionsAppDelegateます。

上記の手順を試してみてください。