Hello. I have been trying to submit an update to a live game on the Mac App Store that includes Game Center features, but it is constantly rejected and will not be approved.
First of all, I signed and submitted a build with Game Center entitlements, only to have it rejected due to the app ‘not linking against the GameKit framework.’ I cannot find how I can make the build link to the GameKit framework manually. This is the message I received from the reviewer:
"Guideline 2.1 - Performance
Your app contains the Game Center entitlement, but it does not link against the GameKit framework.
Next Steps
If you would like to include Game Center, please link against the GameKit framework and submit an updated binary.
Resources
For information on Game Center, please review the Game Center Programming Guide."
Trying to submit the app without the Game Centre entitlement does not work for obvious reasons, however the original version of the game was actually approved without this entitlement included, however the Game Center features just didn’t work. Here’s what they said when I tried resubmitting an update without the Game Center entitlement:
"We found that your app incorrectly implements sandboxing.
Specifically, we found that your app provides the following functionality but is missing the associated entitlement:
- functionality: Game Center
- required entitlement: “com.apple.developer.game-center”
Next Steps
Please update your app to include the entitlement required for the functionality, then submit your revised binary.
For code-level assistance implementing sandboxing, contact Apple Developer Technical Support.
Please see attached screenshot for details."
Now as you can see they want me to include the Game Center entitlement, but this is not possible due to me being unable to ‘link against the GameKit framework’.
Basically, how can I force Unity to link the build against the GameKit framework? (Assuming this is the issue)
Any help would be greatly appreciated as I have spent several hours over the past few days attempting to fix this and I cannot find a solution anywhere.
Thank you
EDIT:
I think I found a fix. I found out I could manually link the GameKit Framework using Optool (A tool that comes with Unity Mac support that it uses to do this) with the following command:
/Applications/Unity/Hub/Editor//Unity.app/Contents/PlaybackEngines/MacStandaloneSupport/optool install -c weak -p /System/Library/Frameworks/GameKit.framework/Versions/ -t <path to your .app>