GameKit基于回合的匹配和与服务器错误的通信

时间:2015-10-05 20:38:26

标签: ios9 game-center gamekit gkturnbasedmatch

当发送转弯时,endTurnWithNextParticipants经常(可能是30%-50%的时间)给出:Error Domain = GKErrorDomain Code = 3“由于与服务器通信时出错,无法完成请求的操作。”但是,在发出转弯并获得此错误之后,从发送转弯的玩家的视点开始,看起来转弯已成功发送。发送播放器可以重新加载匹配。从GC重新加载的匹配数据与刚刚发送的匹配数据相同。但似乎如果这是比赛的第一个转弯,对于下一个参赛者来说转弯从未收到过。然而,如果它不是比赛的第一个回合,对于下一个参赛者,尽管有错误,通常仍会收到转弯。因此,当您收到此错误并且您尝试在匹配中发送第一个回合时,似乎只有一个严重的问题。这在iOS8中对我来说不是问题,但现在在iOS9中。有谁见过这样的问题(和iOS9中类似的回合制匹配服务器通信问题)?我能做些什么来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

尝试查看潜在的错误:

NSDictionary *uInfo = error.userInfo;
NSError *underError = [uInfo objectForKey:NSUnderlyingErrorKey];
NSLog("UnderError: %d, %@", underError.code, underError.description);

并检查underError.code和underError.description以获取更多信息。我已经看到顶级错误返回一般错误,但潜在的错误告诉你究竟真正的问题是什么。