Question: Game Center Entitlement needed in Solar 2D

I got this form Apple:

Starting August 16, 2023, new apps and app updates that offer Game Center features need to include the Game Center entitlement and have Game Center features configured in App Store Connect before you can submit them to the App Store. Existing apps on the App Store are not affected by this new requirement.

We noticed that although the apps listed below have Game Center features configured in App Store Connect, their latest binary delivery doesn’t include the Game Center entitlement. In your next app update, please update your binary to include the entitlement.

How is this done in SOLAR2D?

Any help welcome

I’m using “Game Center” without problems until now, but I just received the same mail as you. :cry:
I’m a newbie developer, so I’m wondering how to solve it.

Same for me…

I have the same issue. I’ve previously had a similar issue with entitlements for a 3rd party SDK, and fixed that by adding the entitlement to build.settings. So I’m going to try this in my next build later this week, but if someone else gets a chance to try it first then please let us know if it clears the warning for you:

iphone = {
	plist = {
		--usual plist stuff here
	},
	entitlements = {
	    ["com.apple.developer.game-center"] = true,
	},
}
2 Likes

Update: I made a new build today after adding that entitlement entry to build.settings, and the build failed to upload as the provisioning profile didn’t have the entitlement included in it. I’m pretty sure it was included previously (by default I think), so it looks like you now need to recreate the app identifier and profile to manually include the Game Center entitlement.
The error has now disappeared for me after recreating the profile, rebuilding and uploading.

1 Like

Can you please get into detail on what you did exactly, please? Is this solving the issue?

Sure. I went here to edit my app identifier:

That immediately revokes existing provisioning profiles (don’t worry it doesn’t impact builds that are already in the store), so you then need to go into the Profiles section and edit any profiles you have which are linked to that app id. You don’t actually need to change anything, just click on the profile, click edit and then click save. Download the updated profile and use that to build.

I’m not sure if this entitlements section is needed in build.settings after the above steps are done, but I left it in and it doesn’t seem to have caused any problems:

iphone = {
	plist = {
		--usual plist stuff here
	},
	entitlements = {
	    ["com.apple.developer.game-center"] = true,
	},
}
2 Likes

Thank you! Much appreciated!

Hey @alanFlickGames when you said you edit your identifier, what kind of change you did it?

I literally just went in and ticked the “Game Center” box, that was it.

Go to this screen and click on the name of your app:

Then on this screen…

Scroll down and tick the Game Center option, then Save.

That will invalidate your existing provisioning profiles, but all you need to do to renew them is click on each one, click “Edit” and then save without making any changes. Then download them to your machine.

1 Like

I have done these changes three times start to finish (added entitlement to build.settings, put game center explicitly in the identifier, edit and save the profile, download the profile, restart Corona) and I still get the error for each build. The profile explicitly says Game Center, so I am pretty sure that is not the problem.

The error on my app submission page, appearing after adding a build, is:

To enable Game Center for your app, you must add the com.apple.developer.game-center entitlement in Xcode

Build.settings is exactly as you show above. Any other test or method? I am not building using Native. Not sure what else to try.

Solar2D build 2023.3693

Fixed. My mistake, I had the entitlement inside the plist, not parallel to it. All works now. Thank you.

2 Likes

Good point. I’ll edit my example to make that clearer.

Scratch that, I can’t edit it (presumably it’s too old to edit).

No worries. You were clear, my mistake.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.