我找到了最终的解决方案。
我看到有人通过修改系统语言解决了这个问题,因此我意识到原因可能和语言有关。
后来我发现在/var/mobile/Library/GameKit/Data里的文件夹是以语言分类的。
其中只有我曾经尝试设置过的语言,所以我猜测它们是在第一次登陆Game Center时自动下载用于缓存数据的。
我认为导致问题的原因是无效的缓存数据。cocoa无法解析必要的缓存数据而抛出异常信息。
只需将/var/mobile/Library/GameKit/Data重命名为/var/mobile/Library/GameKit/Data1或者直接删除该文 件夹。
然后你就可以成功登录Game Center了!
Firstly, I wanna say that I'm Chinese. I'm not very good at English.
I have found the solution finally.
I saw someone solve the problem by changing the language so I realized that the cause may be related with the language.
And then I found the folders in /var/mobile/Library/GameKit/Data are catagrated by language.
They are only the languages I have tried to set so I guess they may be downloaded automatically to cache data from the Game Center server at the first time when we logged in the Game Center. I thought the cause leading to the problem was the invalid cache data. The cocoa threw the exception information because it cannot parse the cache data required.
Just RENAME /var/mobile/Library/GameKit/Data to /var/mobile/Library/GameKit/Data1 or DELETE it directly.
And then you will log in the Game Center successfully!
If someone can get what I meant, please help me to rewrite the solution in native English in order to help more people. Thank you!