2015-10-05 80 views
3

發送回合時,endTurnWithNextParticipants經常(可能是30%-50%的時間)給出:Error Domain = GKErrorDomain Code = 3「請求的操作無法完成,原因是與服務器通信時出錯。「然而,在發送轉彎並獲得該錯誤之後,從發送轉彎的玩家的角度來看,轉彎已經成功發送。發送方可以重新加載比賽。從GC重新加載的匹配數據與剛剛發送的匹配數據相同。但看起來如果這是比賽的第一個回合,對於下一個參與者來說,這個回合永遠都不會收到。然而,如果這不是比賽的第一回合,對於下一位參賽者來說,儘管出現了錯誤,但通常仍然會收到回合。因此,看起來只有一個嚴重的問題,當你得到這個錯誤並且你試圖發送比賽中的第一回合時。這在iOS8中對我來說不是問題,但現在在iOS9中。有沒有人看到過這樣的問題(以及iOS9中類似的基於回合的匹配服務器通信問題)?我能做些什麼來解決這個問題?GameKit基於回合匹配並與服務器錯誤進行通信

回答

0

試着看一下下面的錯誤:

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

而且檢查underError.code和underError.description獲取更多信息。我已經看到頂級錯誤返回一般錯誤,但底層錯誤告訴你究竟是什麼問題。