Вызов PFFacebookUtils logInWithPermissions или PFFacebookUtils logInWithPermissionsInBackground вызывает мое приложение (игра с использованием Spritebuilder/Cocos2d v3), чтобы замедлить работу и перестать отвечать на запросы.PFFacebookUtils logInWithPermissions замедляет приложение
Я предположил, что у меня возникла проблема с использованием локального хранилища данных Parse. Однако обновление до версии 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];
}
Я выделил этот метод как причину проблемы. Вход успешно завершен, и приложение сохраняет данные в базу данных анализа. После входа в систему и выхода из приложения, при возврате в приложение я использую сохраненный сеанс и не имею проблем с доступом к графику Facebook и базе данных анализа. Даже если я удалю свои вызовы savePFUser
и FBactivate
, проблема все же возникает.
EDIT: Я нашел решение. Это был метод applicationDidBecomeActive, вызываемый при возврате из входа в Facebook. Мне нужно было назвать CCAppDelegate супер реализация applicationDidBecomeActive: Using applicationDidBecomeActive makes app lag and slow after awakening it
разместить свой код .. – LearnCocos2D