iOS - обнаружение, если Game Center отключен - PullRequest
9 голосов
/ 05 сентября 2011

Я разрабатываю игру для iphone для единства.

короткая версия: Игровой центр можно отключить, когда пользователь отказывается аутентифицироваться 3 раза. Можно ли обнаружить это отключенное состояние?

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

есть, однако, одно неописанное сообщение об ошибке, которое возвращается GC. Я подумал - эй, я просто добавлю туда маленькое предупреждение, когда появится сообщение об ошибке, уведомляющее пользователя, что игровой центр отключен.

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

Есть ли способ просто программно определить, когда игровой центр отключился таким образом? это наверняка спасло бы всех чертову душевную боль. Я предполагаю, что ответ «нет», потому что не спам пользователи, вероятно, думали об этом в первую очередь. скажи мне, что я не прав, кто-то!

Ответы [ 4 ]

3 голосов
/ 05 октября 2012

Я всегда проверяю свою игру на 3 неправильные попытки.Так что я знаю, что GameCenter отключен, и я даю пользователю возможность переключиться на GameCenter и войти в систему, когда они нажимают кнопку GameCenter.

2 голосов
/ 09 ноября 2012

Недавно у меня была такая же ошибка, и я понял следующее.Когда вы аутентифицируете локального игрока, вы можете обнаружить ошибку, которая сообщает, что Game Center отключен.

- (void) authenticateLocalPlayer
{
    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
    [localPlayer authenticateWithCompletionHandler:^(NSError *error) {
         if (error != nil)
         {
             // You get here if Game Center is disabled -- check error
             // to figure out what's going on.
         }
     }];
}

См. Здесь документацию Apple.

2 голосов
/ 26 октября 2011

Как я знаю, пути нет.Игровой центр не полностью отключен, но вам нужно зайти в приложение Game center и войти в систему, чтобы использовать его снова.Таким образом, вы можете предложить своим пользователям сделать это (войти в систему из приложения игрового центра), если любая попытка использовать игровой центр не удалась.Это не лучшее решение, так как вы не знаете точную причину его неудачи, но к настоящему моменту я не нашел лучшего.

0 голосов
/ 06 ноября 2013

Единственный способ решить эту проблему на iOS 7 -

Настройки / Общие / Сброс / Сброс всех настроек

Оттуда вы просто снова запускаете свое приложение. Логины Game Center снова будут работать.

...