PFFacebookUtils logInWithPermissions 减慢应用程序

Posted

技术标签:

【中文标题】PFFacebookUtils logInWithPermissions 减慢应用程序【英文标题】:PFFacebookUtils logInWithPermissions slows down app 【发布时间】:2015-02-03 01:35:36 【问题描述】:

调用 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 调用,问题仍然存在。

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

【问题讨论】:

【参考方案1】:

变化:

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

收件人:

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

【讨论】:

以上是关于PFFacebookUtils logInWithPermissions 减慢应用程序的主要内容,如果未能解决你的问题,请参考以下文章

PFFacebookUtils。如何区分登录和注册?

PFFacebookUtils.logInInBackground 不执行 segue

PFFacebookUtils -

PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions) 挂起应用

PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions) 给出编译错误

类“PFFacebookUtils”的重复接口定义 - IOS