My game do not need game center, but the Unity generated osx build contain GameKit framework Lib.
Apple request my to unlink the GameKit framework, how can I do?
Unity version 2018.2, mono build.
P.S. Using IL2CPP build will direct reject on uploading file to Appstore, because the include some lib only support i386, and do not have x64.
HACK TO REMOVE GAME-CENTER LIBRARY FROM BUILD. (failed submission for this)
Download MachOView http://sourceforge.net/projects/machoview/
Open the binary in Contents/MacOS
Expand the "Load Commands" section
Look for LC_LOAD_WEAK_DYLIB (GameKit)
Notice the command size is 88, we need to find a same length framework to replace it, we'll use Webkit
Change Command Data to 0x0000000C
Change Current Version to 0x02194A09
Change Name to 0x2F53797374656D2F4C6962726172792F4672616D65776F726B732F5765624B69742E6672616D65776F726B2F56657273696F6E732F412F5765624B697400
File -> Save
Run
Same issue here. I’ve applied giorgos_gs’ fix with the minor update that the latest WebKit version is 025C0407 , and the command I found is LC_LOAD_DYLIB, rather than LC_LOAD_WEAK_DYLIB.
Same issue with latest Unity,
From Apple Guideline 2.1 - Performance
Your app links against the GameKit framework but does not appear to include Game Center functionality.
Next Steps
If your app does include Game Center functionality, please respond to this message in Resolution Center with steps on how to locate it within your app.
If you do not intend to use Game Center, please unlink the GameKit framework. If you would like to use Game Center, please add the “com.apple.developer.game-center” entitlement and submit an updated binary for review.
Resources
For information on Game Center, please review the Game Center Programming Guide.
If you are using a third-party framework that links against the GameKit framework, you may want to contact the third-party framework provider for help on unlinking from it.
Alternatively, this framework may reside in a library included with your application. If you do not have access to the library’s course, you may be able to search the compiled binary using “strings” or “otool” command line tools. The “strings” tools can output a list of methods that the library calls and “otool -ov” will output the Objective-C class structures and their defined methods. These techniques can help you narrow down where the problematic code resides.
My game was just approved, and no removal of GameKit was necessary. It was built with Unity 2018.2.8f1. Perhaps a plugin is actually what’s causing the issue?
My last try is 2018.2.2, after fail to review. I have rolled back to 2017. Haven’t try any more. But I monitor unity new release week by week. Do not see any release note said solved the GameKit problem.
Is Unity silently solve this problem and do not claim it is bug? or You just pass the apple review by lucky?
Unity 2018.3.b8 app rejected too. Created empty project , GameKit is linked in UnityPlayer.dylib . So looks definitely a Unity Bug. Sending a bug report.
My app was approved today after applying the hack above to my executable in Contents/MacOS. Unity should fix this bug asap, it is a showstopper, please upvote the bug as well.