parsing无效会话令牌(代码:209,版本:1.7.1)
我只是更新我的parsing和Facebook的SDK(分别为1.7.1和4.0) – 都是绝对痛苦的工作,我可能会添加!
但是,我现在得到209错误,当我尝试login与Facebook这里是我的代码的一个例子
- (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]];
}
然而我似乎无法find任何东西在更新的版本中复制,因此我的代码是
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [[FBSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
}
任何帮助将不胜感激
从模拟器或手机上删除应用程序,然后重build并重新运行应用程序。 有时旧的令牌会被caching。 我刚刚解决了我的应用程序的这个问题。
看看这个页面: https : //parse.com/tutorials/session-migration-tutorial
最有可能您的应用程序使用旧式会话令牌。 您可以在设置应用程序ID和客户端密钥后,将其添加到您的应用程序委托中,以便将其迁移到可撤销会话令牌。
[PFUser enableRevocableSessionInBackground];
Parse的网站有一个关于处理这个错误的部分,可能对您有更多帮助: https : //www.parse.com/docs/ios_guide#sessions-handleerror/iOS
其中一些答案是临时修复 – 但是如果用户注销并重新login,问题可能会再次出现 – 我认为这是由于我允许匿名用户 – 我唯一可以清除的方法是致电login之前[pfuser注销]
我认为还有一些步骤需要遵循:
-
您必须在
applicationDidBecomeActive
添加[FBSDKAppEvents activateApp]
。 -
你应该写
return [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
在didFinishLaunchingWithOptions
中的方法didFinishLaunchingWithOptions
中。
尝试以上步骤应该为你工作。
- 如何让对象对Cocos2D中的触摸做出反应?
- iOS objective-C:在浮点上使用模来从“英尺”获得“英寸”
- 使用MPMoviePlayerController禁用AirPlay
- 如何在iOS中添加可播放的(如wav,wmv)标题与PCM数据/缓冲区?
- UITableView不呈现
- 我们可以从手机(Android / iOS)中select一个图像,并使用通用代码(Xamarin Forms)将其上传到服务器?
- UICollectionView上的可重用性问题
- 如何使用ExpressPlay sdk将epub文件集成到自己的电子书阅读器应用程序中?
- 控制video(MPMoviePlayerController)在视图中的位置