Разработка iOS: Странная проблема с аутентификацией пользователя Game Center - PullRequest
16 голосов
/ 02 января 2011

Я создаю игру для iPhone, которая поддерживает Game Center (GC).Когда приложение запускается, я пытаюсь проверить подлинность локального проигрывателя ...

 if([GKLocalPlayer localPlayer].authenticated == NO)
    {
        [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) 
         {
             [self callDelegateOnMainThread: @selector(processGameCenterAuth:) withArg: NULL error: error];
         }];
    }

Казалось, все работает хорошо.Если пользователь не вошел в GC при запуске приложения, приложение отобразит диалоговое окно с тремя вариантами ...

  1. Вход в существующую учетную запись
  2. Создание учетной записи
  3. Отмена

Это желаемое поведение, но во время тестирования я выбрал опцию «Отмена», и теперь процесс аутентификации каждый раз выдает ошибку со следующей ошибкой:запрошенная операция была отменена. "Даже когда я удаляю приложение и переустанавливаю его, оно все равно выдает ошибку, и это диалоговое окно больше никогда не всплывает.

Кто-нибудь знает, почему это происходит или как я могу это исправить?

Заранее благодарим за мудрость!

1 Ответ

32 голосов
/ 02 января 2011

Оказывается, это недокументированное поведение яблока.

После того, как пользователь 3 раза подряд нажал «Отмена», он должен зайти в приложение Game Center и подключиться оттуда.

Перейти рисунок.

...