PFFacebookUtils logInWithPermissions减慢应用程序

时间:2015-02-03 01:35:36

标签: ios facebook cocos2d-iphone parse-platform spritebuilder

调用PFFacebookUtils logInWithPermissions或PFFacebookUtils logInWithPermissionsInBackground导致我的应用程序(使用Spritebuilder / Cocos2d v3的游戏)变慢并变得无法响应。

我认为我遇到了使用Parse Local DataStore的问题。但是,更新到1.6.2无法解决问题,禁用本地数据存储无效。这可能与应用程序转换到Facebook应用程序/网页/从登录进行验证有关吗?有没有办法在不离开应用程序的情况下登录Parse / Facebook?或者Parse / Facebook和Spritebuilder / Cocos2d有任何已知问题吗?

NSArray *permissions = @[@"public_profile", @"email", @"user_friends"];
[PFFacebookUtils logInWithPermissions:permissions block:^(PFUser *user, NSError *error) {
if (!user) {
    NSLog(@"Uh oh. The user cancelled the Facebook login.");
} else if (user.isNew) {
    NSLog(@"User signed up and logged in through Facebook!");
    [[GameState sharedGameState] savePFUser];
} else {
    NSLog(@"User logged in through Facebook!");
    [[GameState sharedGameState] FBactivate];
}

我已将此方法视为问题的原因。登录成功,应用程序将数据保存到Parse数据库。登录并退出应用程序后,在返回应用程序时,我使用保存的会话,访问Facebook Graph和Parse数据库时没有问题。即使我删除了savePFUserFBactivate来电,问题仍然存在。

编辑:我找到了解决方案。这是applicationDidBecomeActive方法,从Facebook登录时返回时调用。我需要调用applicationDidBecomeActive的CCAppDelegate超级实现:Using applicationDidBecomeActive makes app lag and slow after awakening it

1 个答案:

答案 0 :(得分:0)

变化:

NSArray *permissions = @[@"public_profile", @"email", @"user_friends"];

要:

NSArray *permissions = @[@"basic_info", @"email", @"user_friends"];