В игре, которую я разрабатываю с использованием GameCenter, я хочу обработать следующий сценарий:
- пользователь запускает игру. Ему показывают системное предупреждение, в котором ему предлагается войти в GameCenter. На данный момент он игнорирует это.
- через некоторое время пользователь хочет войти в GameCenter и нажимает (например) элемент меню Leaderboards. На данный момент он отменяет отмену вместо входа в систему.
- процесс повторяется несколько раз. В конце концов пользователь хочет войти в GameCenter. Он еще раз нажимает элемент меню Leaderboard.
В моих тестах я обнаружил, что всплывающее окно предупреждения, вызванное вызовом "authenticateWithCompletionHandler" (как вызвано образцом Apple GameCenterManager), который предлагает войти в GameCenter, появляется только ограниченное количество раз (4 или 5). В последний раз, когда он появляется, в нем говорится: "Game Center Disabled", войдите в приложение Game Center, чтобы включить "Afterwards". После этого вызов authenticateWithCompletionHandler больше не делает ничего видимого - вообще не запрашивайте.
Играя в FruitNinja, я попытался воспроизвести это. Однако в их случае всплывающее сообщение "Game Center Disabled" появляется каждый раз, когда я нажимаю элемент GameCenter (например, достижения).
То, что я хотел бы сделать, - дублировать функциональность, то есть, если вы не вошли в GameCenter, чтобы стандартное предупреждение о игровом центре появлялось все время, когда вы нажимаете элемент меню Leaderboard.
Есть ли способ узнать, появилось ли стандартное оповещение "войти в игровой центр" или заставить его появляться всегда (а не только первые две попытки)?