2016-01-14 7 views
0

Я пытаюсь войти в игре центр usign следующего кода: -повторного включение GameCenter после пользователя подавленного ios9

[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) 
{ 
    if (error == nil) 
    { 
     NSLog(@"Authentication Successful"); 
    } 

    else 
    { 
     NSLog(@"Authentication Failed"); 
    } 
}]; 

: - Сначала он открывает Gamecenter но когда пользователь нажимает кнопку отмены и снова приходит в игровом центре экран не открывается и отображается следующая ошибка: «Запрошенная операция была отменена или отключена пользователем».

Просьба предложить, когда это произойдет и как это исправить.

+0

Прочитайте документацию. Этот метод был устаревшим в iOS6. Независимо от того, что он возвращает ... вы не должны его использовать. – Fogmeister

ответ

1

Независимо от того, что вы используете устаревший метод в исходном сообщении или текущий предпочтительный механизм (на момент написания),

[[GKLocalPlayer localPlayer] setAuthenticateHandler:^(UIViewController *loginViewController, NSError *error) 
{ 

}]; 

вы получите только один выстрел аутентификации. Если вы попытаетесь снова установить обработчик проверки подлинности позже, экран входа в систему не появится снова. Эти ссылки говорить больше о том, что:

Убийство приложение (не просто переключаться в сторону, но на самом деле закрыть приложение) и перезапустить его заставит Войти появляться снова, когда вы пытаетесь выполнить аутентификацию. В качестве альтернативы, переход на приложение игрового центра должен позволить пользователю войти в систему.

Итак, в моем приложении я проверяю код ошибки. Если пользователь отменяет, error.code в обработчике будет установлен в 2. Когда я увижу это значение, я отключу все функции игрового центра, и я доложил пользователю о том, что им нужно сделать для завершения регистрации.