Search Issue Tracker
Fixed in 2019.1.X
Fixed in 2018.3.X
Votes
15
Found in
2018.2.1f1
Issue ID
1065311
Regression
No
[macOS] GameKit reference in the application when Game Center is not used, App Store rejects the build
Reproduction steps:
1. Open the attached project.
2. Build it as macOS Standalone.
3. Navigate to the "AppName.app" location using Terminal.
4. Input this command (Don't forget to rename the 'AppName' ):
grep -r -i -c "gamekit" "AppName.app"
5. Check the output:
Actual behavior:
- There will be more than 0 references (More than 0 'example:1').
Expected behavior:
- 0 references (Every line says 'example:0').
Reproduced with:
macOS Standalone, iOS
2018.2.0b1, 2018.2.13f1, 2018.3.0b6, 2019.1.0a4
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Inspector's custom tooltip is displayed incorrectly when the name is truncated in UI toolkit
- Crash on ScriptableRenderLoopDraw when rendering a specific VFX in Play Mode
- The script is not renamed in the Project window when renaming and a compilation Error is present
- Average FPS in Play Mode degradation on a newly created BiRP project when it's upgraded from 2020.3.48f1 to a newer Editor version
- DecoratorDrawer indentation is incorrect when it is called with EditorGUI
ugur
Dec 09, 2018 20:13
to all who have this issue, too: so the optool fix did not work for me (lead to the app not launching anymore afterwards), what worked for me (app passed review fine) was this workaround:
https://forum.unity.com/threads/app-links-against-the-gamekit-framework-reject-by-apple-reviewer.542306/#post-3577490
ugur
Dec 09, 2018 20:13
to all who have this issue, too: so the optool fix did not work for me (lead to the app not launching anymore afterwards), what worked for me (app passed review fine) was this workaround:
https://forum.unity.com/threads/app-links-against-the-gamekit-framework-reject-by-apple-reviewer.542306/#post-3577490
Oscar-Tsang
Dec 09, 2018 09:21
Fixed in Unity 2019.1?
Unity 2018.3 still haven't release yet! DO you mean unity 2018 is useless on macOS?
ugur
Dec 07, 2018 21:07
@VAIDAS_BUDRYS: when i try to strip gamekit using optool as you said, afterwards the app crashes on launch attempt with error
Symbol not found: _CGSizeZero
Vaidas_Budrys
Dec 03, 2018 08:47
I'd say at least a couple of weeks until it gets to public beta. In the meantime, "optool" can be used to strip the GameKit reference:
https://github.com/alexzielenski/optool - sample commands:
optool uninstall -c weak -p /System/Library/Frameworks/GameKit.framework/Versions/A/GameKit -t YourApp.app/Contents/MacOS/YourAppExecutable
GCS_Brian
Nov 28, 2018 17:56
That's wonderful to hear, Vaidas. Any rough ETA?
Vaidas_Budrys
Nov 28, 2018 11:27
I've got a fix for this on the way.
GCS_Brian
Nov 21, 2018 01:39
I am still investigating, but I believe we are also experiencing this issue on OSX. I believe the gamekit is being included via UnityEngine.SocialPlatforms. We are using Unity version 2018.2.7f1.
>grep -r -i -c "SocialPlatforms" in our .app directory brought up
./Contents/Resources/Data/Managed/UnityEngine.GameCenterModule.dll:1
./Contents/Resources/Data/Managed/UnityEngine.dll:1
./Contents/MacOS/DevApp:3 (this is our executable)
Additionally, our otool output includes several references to GameCenter and its functions.
000000010147b008 0x101486668 _OBJC_CLASS_$_AchievementWrapper
isa 0x101486690 _OBJC_METACLASS_$_AchievementWrapper
superclass 0x0 _OBJC_CLASS_$_NSViewController
cache 0x0 __objc_empty_cache
vtable 0x0
data 0x101480240 (struct class_ro_t *)
flags 0x194 RO_HAS_CXX_STRUCTORS
instanceStart 104
instanceSize 112
reserved 0x0
ivarLayout 0x1013aca90
layout map: 0x01
name 0x1013acc86 AchievementWrapper
baseMethods 0x101480180 (struct method_list_t *)
entsize 24
count 3
name 0x1013ab4d8 showAchievementsUI
types 0x1013ad346 v16@0:8
imp 0x100c298f0 -[AchievementWrapper showAchievementsUI]
name 0x1013ab4b5 gameCenterViewControllerDidFinish:
types 0x1013acfc9 v24@0:8@16
imp 0x100c29a60 -[AchievementWrapper gameCenterViewControllerDidFinish:]
name 0x1013a79c7 .cxx_destruct
types 0x1013ad346 v16@0:8
imp 0x100c29a80 -[AchievementWrapper .cxx_destruct]
baseProtocols 0x101480120
count 1
list[0] 0x10149a930 (struct protocol_t *)
isa 0x0
name 0x1013acc99 GKGameCenterControllerDelegate
protocols 0x1014800e0
instanceMethods 0x1014800f8 (struct method_list_t *)
entsize 24
count 1
name 0x1013ab4b5 gameCenterViewControllerDidFinish:
types 0x1013acfc9 v24@0:8@16
imp 0x0
If you have any additional information regarding how to get around this, we'd love to hear it. Apple has rejected our latest build due to this (it may have been happening earlier, but they missed it or let it slide, perhaps?)
Oscar-Tsang
Nov 16, 2018 00:00
Unity need to face it is a very important. If app (macOS version) do not accept by Apple. The OSX build is meaningless.
Up to now they still to not have planning to fix this problem. Just reply me it is noted.
Nananaaa
Nov 14, 2018 10:51
Correction to my previous comment:
Only the Mac OSX build got rejected because it links against GameKit without using it.
The iOS rejection had a different reason.
Sorry for that.