Unable to submit a new app version because of missing com.apple.developer.game-center entitlement key

2.1k Views Asked by At

This month, Apple decided to be a little pickier about the Game Center entitlement in App Store Connect. Until then, our app was working just fine with Game Center. However, we are now unable to submit any new app version because of that.

In the App Store Connect, we get a warning in the Game Center section:

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

If I click the "Add to Review" button anyway, I get this error message:

Unable to Add for Review
The items below are required to start the review process:
You must add the com.apple.developer.game-center key in Xcode.

The error is clear, the only problem is everything in the project is already set.

  • The entitlement already contains the com.apple.developer.game-center and set to true

    screenshot

  • The App identifier already contains the Game Center capability

In Signing & Capabilities, everything seems to be set just fine too:

screenshot

I tried disabling and reenabling the capability in Xcode and from the Apple Developer portal with the updated the Provisioning Profile. The problem remains.

The build is made from Xcode Cloud with Xcode 14.3.1.

Please let me know if anyone has any idea about what I might be missing.

4

There are 4 best solutions below

9
Itzdsp On
  1. Login to appstore conntect
  2. Select the app you want to submit
  3. Select App Store tab
  4. In application version details information screen, scroll down to Game Center section and uncheck the checkbox (yes, apple!)

Appstore connect screen

0
mikepr On

Creating a new Apple Distribution certificate fixed problem!

1
stakri On

For anyone that faces this issue but their app is actually using Game Center: My app's main target (the only one using Game Center functionality) had everything set up fine (App ID/entitlements file/capabilities). I took a look at my WatchKit app and WatchKit app extension targets and that turned out to be the issue - even though my app does not use Game Center on the watch.

  • In developer portal, I turned Game Center on for both WatchKit app and WatchKit extension IDs (under Certificates, Identifiers & Profiles -> Identifiers)
  • In Xcode, I turned on the Game Center capability in the WatchKit extension target (which in turn created an .entitlements file for that target)
  • I forced a re-creation of the automatically managed provision profiles (deleted everything under ~/Library/MobileDevice/Provisioning\ Profiles)

Uploading a new build had no issue anymore and I could successfully submit the app.

0
Roman On

I fixed this problem as follows:

string projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject);
string targetName = PBXProject.GetUnityTestTargetName();
string entitlementsFile = "MyProject.entitlements";
var manager = new ProjectCapabilityManager(projectPath, entitlementsFile, targetName);
manager.Entitlements.root.SetBoolean("com.apple.developer.game-center", true);

Calling the method manager.AddGameCenter() - does not perform the necessary actions.