No good way to update matchData in a GKTurnBasedMatch mid-turn

Originator:jonsibley
Number:rdar://11070416 Date Originated:3/18/2012
Status:Open Resolved:No
Product:iPhone SDK Product Version:5.1
Classification:UI/Usability Reproducible:Always
 
rdar://11070416

UPDATE March 27, 2012: Apple marked this bug as a duplicate of rdar://9728076

Summary:

If my understanding is correct, the only way to update the matchData property of a GKTurnBasedMatch mid-turn is [_currentMatch endTurnWithNextParticipant:_currentParticipant matchData:matchData completionHandler:nil].

This works well if the Game Center player only has the game installed on one device because the in-game "Your Turn" notification can be hidden by the app while the user is currently playing his turn.  However, if the user has the game installed on multiple devices, the other devices will get a "Your Turn" push notification.  This is confusing to the user, especially I update the matchData multiple times.

By the way, I understand that I may not be using the endTurnWithNextParticipant:matchData:completionHandler: function as it was intended (because I am not, in fact, ending the match... but merely updating the matchData).  However, there seems to be no alternative to update the match's state.

Steps to Reproduce:

1. Create a game that users endTurnWithNextParticipant:matchData:completionHandler: to update the matchData mid-turn, without passing the turn to another player.
2. Install a game using GKTurnBasedMatches on multiple devices
3. Receive notifications of "Your Turn" on all the devices each time the matchData is updated mid-turn.

Expected Results:

I would expect that if the currentParticipant property didn't change in the GKTurnBasedMatch, the the "Your Turn" push notification shouldn't be sent out.

Actual Results:

The "Your Turn" push notification is sent out each time endTurnWithNextParticipant:matchData:completionHandler: is called, regardless of if the GKTurnBasedMatch's currentParticipant has changed or not.

Regression:

None.

Notes:

None.


18-Mar-2012 12:25 PM Jonathan Sibley:
Is there a way to block the "Your Turn" notification?  I've tried setting the message property of the GKTurnBasedMatch to nil and an empty string, but the push notification is still sent, with the default message "Your Turn"

Comments

Response from Apple

Hello Jonathan,

This is a follow up to Bug ID# 11070416. After further investigation it has been determined that this is a known issue, which is currently being investigated by engineering. This issue has been filed in our bug database under the original Bug ID# 9728076. The original bug number being used to track this duplicate issue can be found in the Related Problem section of your bug report's Problem Detail view.

Thank you for submitting this bug report. We truly appreciate your assistance in helping us discover and isolate bugs.

Apple Developer Support Worldwide Developer Relations


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!