2013-04-11 36 views
3

這是不可能的嗎?當我通過ID指定的兩個玩家是朋友時,我嘗試了一些成功進行匹配的測試代碼,但是當它們不是這樣的時候會失敗並出現此錯誤。錯誤的使用playersToInvite的非朋友之間的遊戲中心配對

使用GKMatchmaker findmatchforrequest

印刷描述:

Error Domain=GKErrorDomain Code=8 "The requested operation could not be completed because the player is invalid." UserInfo=0x1dd62f40 {GKServerStatusCode=5121, NSUnderlyingError=0x1dd62ca0 "The operation couldn’t be completed. Invitation between players who have not recently played: G:1752931323, G:1752935955", NSLocalizedDescription=The requested operation could not be completed because the player is invalid.}

+0

可能的重複[以編程方式邀請Game Center朋友進行匹配](http://stackoverflow.com/questions/8451817/inviting-a-game-center-friend-to-a-match-programmatically) – Almo 2014-01-23 18:11:29

回答

0

我希望能夠做到這一點太多,但我相信,在文檔蘋果指定邀請必須從唯一的朋友。

+0

https ://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/MatchmakingwithGameCenter/MatchmakingwithGameCenter.html「幾乎總是朋友」看起來這不是一種限制。 – Almo 2014-01-23 16:41:22

+0

感謝參考Almo,同意它暗示它應該工作。我最後一次在iOS 5上嘗試過,但失敗了,也許在iOS 7中它會成功(即兩個不是朋友的玩家之間的邀請)。實際上我很快就會看到這個,如果我這樣做,我也會在這裏更新。 – theLastNightTrain 2014-01-24 19:36:12

0

確實有效,是的 - 限制是玩家最近必須參加比賽。這可能是在幾個方案的情況下對球員不是朋友:

  • 他們播放了一段隨機匹配在一起
  • 玩家在玩,或已事先通過WiFi或藍牙
  • 他們曾經一起玩成爲朋友,但從他們的朋友列表中刪除了彼此。
  • 他們打了一場3+多人比賽,他們與其中一名球員的朋友,但沒有其他人。
  • 他們在之前一起玩過的2臺設備上玩,即使這些設備的GameCenter登錄最近發生了變化 - 因此它們在技術上不是朋友(重置網絡設置可以消除此能力)。

這些情況很少見,因此「幾乎總是朋友」條款。

我處理這件事的方式是首先嚐試邀請,不管他們是否是朋友。如果出現此錯誤,我通知用戶他們不是朋友,並提示他們使用好友請求視圖控制器發送好友請求。

相關問題