2015-02-03 3 views
0

Вызов 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

+0

разместить свой код .. – LearnCocos2D

ответ

0

Изменение:

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

To:

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