Мне кажется, что Game Center аутентифицирует пользователя в каждом отдельном приложении, а не глобально через iOS. Таким образом, вы не можете проверить статус аутентификации пользователя без использования метода authenticateWithCompletionHandler:
.
Кстати, я думаю, что вы должны пересмотреть этот механизм пользовательского интерфейса. Это принесет вам пару проблем. Для аутентификации Game Center будет использоваться глобальная учетная запись (прежде всего учетная запись App Store), общая для всех приложений, и вы должны полагаться на Game Center для управления аутентификацией. Предположим, что вы можете делать то, что ищете (и я думаю, что это невозможно), если вы уже вошли в систему через стороннее приложение, вы сможете войти в GC даже в своем; но если вы не вошли в систему за пределами своего приложения, вы не сможете использовать GC в своем приложении.
Это может быть проблемой для вас, потому что, если у пользователя есть действительная учетная запись, и он в настоящее время вышел из App Store из приложения Настройки, он не сможет войти в GC для вашего приложения (так как вы делаете не хочу показывать пользователю лог в оповещении). Вам нужно будет полагаться на сторонние приложения, чтобы включить все функции GC. Таким образом, на этом этапе GC станет бесполезным.
Это действительно то, что вы хотите от своего приложения? Зачем включать GC, если пользователь, вероятно, не сможет эффективно его использовать?