Further investigation has turned up some interesting things:
The docs say a match will be cancelled if declined. So this may not be desirable. This status is CLEARLY not being set when a user long touches their push notification and then taps Decline.
Setting timeout works as expected on GKTurnBasedMatch.endTurn(...) whether the players ignore the invite OR tap to Decline in the notification.
My take away is to assume we can only handle positive actions (acceptance of invite by completing action that causes my app to endTurn for that player) and timeouts with the host player being the last participant in the nextParticipants array so they can do something.
My guess, to answer my own question, is that there is no way to know this has happened and that either this is completely a no-op from a Game Center or Turn Based Match perspective.
I think this is not GREAT per se, but is fine for sure. I also think my expectation that I can plan out every possible situation is too expansive and should be set to let the host know at some point that all they can do is delete the match, wait it out, or ignore it.
I think an article in the docs to cover the various paths OTHER than the expected happy path would be great. Overall, the docs do seem to be pretty solid, but sometimes it is hard to find things. Maybe this is just me? 🤦♀️
I am leaving this open in case someone can definitively shed light on if there is a way to find out if this decline via notification happens OR what happens with Game Center, if anything.
Topic:
Graphics & Games
SubTopic:
GameKit
Tags: