The only additional info I can give is that, of all the 3 bundle ids I've created, there is one (incidentally, the very first on which I've ever activated game center) that is fully functional. Same project, on one bundle id it works, on the others it doesn't deliver notifications or events, therefore it's definitely not a code issue.

I don't know if that can help you but please, keep us updated if you have any news.

Btw, push notification entitlement should not be necessary for GC. Not sure if it may cause a metadata rejection in case you sort out your issue but leave it enabled.

Now, while this might as well be intentional, it's also true that loadMatchData is not mandatory when I use my working bundle id. In that case, loadMatchWithID updates everything, including match data. In my mind, this is just another proof that something is going wrong with server communication.

As I understand it, there was a different sandbox server to handle beta games, and using special accounts.

This has been removed and there should be just one big happy game-center server. It should not matter how the player logs into game center.

But it looks like some new game titles are being treated as in "special measures". As far as I can tell, older published titles have full GC notifications working, but some new apps seem to be in a halfway-house state , where the game state is being stored and transmitted, but the push notifications are never being sent.

Currently I am doing a repeated "read game state" every few moments, to spot changes and simulate a push event.

Also..

Occasionally I see...

An message from the server on sending state - but the server state has in-fact been changed.

Game center reflecting a different state on both ends. So game center itself is confused about which player has the next turn. This suggests again that there is something odd going on with the server.

I wondered if there was something about the AppleIDs being used. Whether older IDs behaved differently from newer ones. But I can't see any evidence of that.

But it looks like some new game titles are being treated as in "special measures". As far as I can tell, older published titles have full GC notifications working, but some new apps seem to be in a halfway-house state , where the game state is being stored and transmitted, but the push notifications are never being sent.

I'm not sure what's happening in your case, but what you describe above sounds similar or related to what I'm seeing. I just released an app update, and what I'm finding is that turn-based push notifications are not working correctly for matches that were created using the previous version of the app (before the update). But if I create a new turn-based match using the latest update, then push notifications work correctly. I submitted a bug report but haven't heard anything back yet. My post about it is here:

I think you’re both right in blaming Apple server transition, and I’m glad that we’re finally tracking down the source of the issue.

In my experience, Bundle Ids that have registered on the Turn Based (TB) GC server at least once before sandbox switch-off are working properly. All the other ones are not receiving notifications.

The Bundle Id creation date doesn’t matter, neither does the date in which GC was enabled or when and if the app went live.

In my case, I have a Bundle Id that I created in July, went live in August, and received a GC update (for leaderboards) in August. I only recently tried using it for TB matches, and notifications are not working, game state seems to be cached locally, etc., as describerd by Carniphage. The same goes for any newly created Id.

I also have a test Bundle Id that I created in August and never went live. I’ve been using it for a TB test project since September, and it always worked and still works correctly. I wish there was an official statement from Apple on this issue, and possibily a timeframe for bug resolution.

Since I’ve read that the TB framework has been having issues with notifications and events basically starting with iOS 7, I wouldn’t take anything for granted, and I’m now considering third-party alternatives. Having some info from Apple would surely help the assessment.

No matter what I do (and I have tried literally dozens of combinations and total rewrites), it just doesn't get called. If my app is not running I also never get a push notification of any kind.

But yet the match has advanced on the server and pulling down the new match indicates it is the new player's turn. This is all done on devices to rule out the simulator. Also done with two real GameCenter accounts and two Sandbox ones and combinations there of. Nothing makes any difference.

This is a brand new app I am writing from scratch, so the ITC entry is new as well as the provision and such. I keep finding things I've missed like not having GameCenter on in ITC at first thinking that turning it on will certainly fix my issue, but still nothing. Although maybe the problem is that I tried doing all this with it off first and now their server is left in a strange state of banning my app?

My experience is identical. I had to give a presentation of the game, and faked it by having both clients constantly polling the server and spotting if the game state changes. This workaround is not particularly reliable or good.

My guess is that it is something going wrong at iTunes Connect.

If I could, I would destroy the iTunes Connect game identity and see if starting again made a difference. But that isn't actually very easy to do.

I have had the same experience. The turn based listener never gets calls when I am on a simulated device (I wish Apple would document this!), and even on real devices there are intermitent interruptions. I don't know if these "silent" periods are failures of Game Center or something getting gummed up in the OS. Bottom line: turn based games are terribly unreliable. I imagine this may be part of the impetus for the move to session based games in iOS 10.

1. a bundle id created before the sand box game center environment was merged with the production environment get notifications in the non production mode

2. a bundle id created after the migration - no notification at all

3. due to 1. I could at least test the integration of notifications and went then live with a 2. (=bundle id, where notifications do not work). In the production GC system (= my app is in app store) notifications are working

I've opened a bug 23650539 on 23. November 2015, but no feedback until now.

For me it is a clear "wrong meta data of newly created bundle ids" problem.

Having the same issue. No notifications or app badges are displaying. This is true for both sandbox and non-sanbox modes. I created the App ID around mid December, and I noticed the iTunes Connect interface referenced by a lot of people ( when describing how to enable game center for the app ) and even the official Apple Game Center Development guide, is different from the interface I'm seeing. I'm not even seeing GKTurnBasedEventListener events except for when I load the app manaully from the GKTurnBasedMatchmakerViewController.

Just tried again today after reading a comment on stackoverflow yesterday saying everything was working now, and sure enough I got my push notifications. Maybe Apple has fixed the issue? Or maybe it just goes through fits and starts of working and not working...

I'm glad this is finally working for you, but it seems I have the same issues as ever.

Can you think of any setting you changed, maybe in itunes connect, before things started working again?

For me, the only weird thing is that I still have to enable sandbox mode for my GC users in order to log them in on iOS 8 devices. I don't think this is an issue as even so my old bundle id is working as expected, but can you please confirm that this is the case?

In iOS 8, under Settings > Game Center, there's a Sandbox toggle. I still have to leave it on for all unreleased app versions to work, otherwise GC login won't even be attempted. Since I only tested an iOS 9 device so far, a sandbox user was always involved in all the matches I started. Again, that doesn't prevent older bundle ids from working correctly.

As Carniphage said I already had the app compiled and just tested it again after I read that comment from stackoverflow and it was working (push notifications as well as turnbased events). So it must have been something going on server-side.

I've also tried it on two iOS 8 devices and you do indeed need to enable sandbox for them to work, but they do work.

Recently however I've not been receiving some events or push notifications on my iOS 9 device, although my friend on iOS 8 still seems to be getting most of the notifications.

This problem is driving me nuts!! Has anyone heard from Apple about this? Has anyone gotten a new app in development to send notifications for invites and completed turns? I have several older apps where the turn based notifications work as expected. But my new app in development never receives any notifications on any device running any iOS.

Update #3. Also the apps seem to need to be the same build number on all devices or the devices won't send/receive any notifications to/from each other. This seems finicky to me but perhaps there is a purpose?

More Like This

Incoming Links

This site contains user submitted content, comments and opinions and is for informational purposes only. Apple disclaims any and all liability for the acts, omissions and conduct of any third parties in connection with or related to your use of the site. All postings and use of the content on this site are subject to the Apple Developer Forums Participation Agreement.