Я работаю над iOS-игрой, основанной на поворотах, используя новый пошаговый API iOS5.
Один из протоколов делегатов, который вам нужно реализовать для этого, - GKTurnBasedEventHandlerDelegate. Один из методов для реализации - handleTurnEventForMatch. Это из документов Apple по этому методу:
handleTurnEventForMatch
Отправлено делегату, когда локальные игроки начинают действовать в пошаговое соответствие.
- (void)handleTurnEventForMatch:(GKTurnBasedMatch *)match
Параметры
match - объект соответствия, содержащий текущее состояние соответствия.
Обсуждение
Когда ваш делегат получает это сообщение, игрок принял push-уведомление для уже прошедшего матча. Ваша игра должна завершить любую задачу, которую он выполнял, и переключиться на матч информация, предоставленная объектом сопряжения.
Большая часть моей игры работает. Я получаю уведомления об изменениях, полученных с помощью вышеуказанного метода. Я также вижу, что значки в значках приложений успешно обновляются.
Тем не менее, я не получаю никаких других системных уведомлений при включении событий; ничего не появляется в центре уведомлений и т.д. Нужно ли мне что-то делать за пределами GameKit, чтобы включить это? Нужно ли мне вручную отправлять локальное уведомление, когда я получаю handleTurnEventForMatch? Документы, похоже, не подразумевают того, что он говорит выше. "Когда ваш делегат получает это сообщение, игрок принял push-уведомление для уже прошедшего матча".
Таким образом, это означает, что игрок нажал на push-уведомление, чтобы вызвать этот метод (но, конечно, они никогда не появляются, поэтому я этого не делал!)
Что мне нужно сделать, чтобы включить push-уведомления в моем приложении для пошаговых событий? Нужно ли мне на самом деле отправлять локальное уведомление, когда я получаю вышеуказанный метод (это, казалось бы, противоречит намерению, учитывая формулировку вышеупомянутого документа).