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 数据库没有问题。即使我删除了我的savePFUser
和FBactivate
调用,问题仍然存在。
编辑:我找到了解决方案。这是从 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.logInInBackground 不执行 segue
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions) 挂起应用
PFFacebookUtils.initializeFacebookWithApplicationLaunchOptions(launchOptions) 给出编译错误