【发布时间】:2015-06-08 00:31:02
【问题描述】:
我刚刚更新了我的 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];
}
任何帮助将不胜感激。
【问题讨论】:
-
现在这是 Facebook Parse Eng 团队接受的错误 developers.facebook.com/bugs/756392341145634
标签: ios objective-c facebook parse-platform facebook-sdk-4.0