我刚刚更新了我的 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);
}
}];
}
产生以下 [错误]:无效 session token (代码:209,版本:1.7.1)
我最初的想法是,这个问题与我在应用程序委托(delegate)中的代码有关——在旧版本的 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];
}
如有任何帮助,我们将不胜感激。
最佳答案
从模拟器或您的手机中删除该应用程序,然后重建并重新运行该应用程序。有时旧 token 会被缓存。我刚刚为我的应用程序解决了这个问题。
关于ios - 解析无效 session token (代码 : 209, 版本 : 1. 7.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29423344/