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