Отказ игрового центра iOS 6 при аутентификации
Я создаю игру на Cocos2d-iPhone, и когда я обновлялся до iOS 6, я заметил, что Apple изменила способ аутентификации Game Center, используяauthenticateHandler
вместоauthenticateWithCompletionHandler
.
Я добавил новый метод аутентификации, но теперь игра вылетает, если игрок еще не вошел в Game Center. Нет проблем с аутентификацией, если пользователь уже вошел в систему.
Вот мой код:
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0"))
{
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
{
if (viewController != nil)
{
AppController *appDelegate = (AppController*)[UIApplication sharedApplication].delegate;
[delegate.viewController presentViewController:viewController animated:YES completion:nil];
}
else if (localPlayer.isAuthenticated)
{
NSLog(@"Player authenticated");
}
else
{
NSLog(@"Player authentication failed");
}
};
}
Кажется, что это происходит сбой при попытке представить Game Center viewController, хотя я использую точно такой же код для представленияGKTurnBasedMatchmakerViewController
без проблем.
Любая помощь приветствуется.
РЕДАКТИРОВАТЬ: Вот исключение, полученное при падении:
Uncaught Exception UIApplicationInvalidInterfaceOrientation: Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES