iOS 6 Game Center se bloquea en la autenticación

Estoy creando un juego en Cocos2d-iPhone, y mientras estaba actualizando a iOS 6, noté que Apple cambió la forma en que se realiza la autenticación de Game Center, usandoauthenticateHandler en lugar deauthenticateWithCompletionHandler.

Agregué el nuevo método de autenticación, pero el juego ahora se bloquea si un jugador aún no ha iniciado sesión en Game Center. No hay problema en la autenticación si un usuario ya ha iniciado sesión.

Aquí está mi código:

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");
        }
    };
}

Parece que está fallando al intentar presentar el controlador de vista de Game Center, aunque uso el mismo código para presentar elGKTurnBasedMatchmakerViewController sin problemas

Cualquier ayuda sería muy apreciada.

EDITAR: Aquí está la excepción lanzada en el accidente:

Uncaught Exception UIApplicationInvalidInterfaceOrientation: Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES

Respuestas a la pregunta(2)

Su respuesta a la pregunta