我正在研究一個簡單的基於回合的文字遊戲,並且我很難弄清楚邀請函是如何工作的。當用戶A邀請用戶B參加遊戲時,我希望用戶B能夠在我的自定義比賽界面(即列出所有用戶B的遊戲的屏幕)中看到該遊戲。如果用戶B在被邀請參加遊戲時點擊通知,事情就沒有問題,但如果用戶B自己導航到應用程序,我仍然希望通過自己的界面可以看到遊戲。在沒有遊戲中心視圖控制器的情況下處理GKTurnBasedMatch的邀請
每當此匹配界面屏幕出現時,我使用[GKTurnBasedMatch loadMatchesWithCompletionHandler:]
來獲取所有本地球員的比賽。有了這個,我會假設用戶B能夠看到他被邀請參加的比賽,但是這個新的比賽沒有出現。如果我通過GKTurnBasedMatchmakerViewController
接受邀請,則用戶按預期進入遊戲,但是更令人費解的是,如果我打開我的GKTurnBasedMatchmakerViewController
,然後取消不接受邀請,現在會在我的自定義比賽中顯示新的比賽接口,但它缺少用戶A發送的匹配數據。
總之,我真的只是想知道如何正確顯示和接受GKTurnBasedMatch
邀請與自定義接口(而不是必須使用GKTurnBasedMatchmakerViewController
)。謝謝!
我在執行加載匹配方法中實現加載匹配數據之前,也遇到了無法查看最近輪次的問題。值得注意的是,它只能在匹配輸入時延遲加載匹配數據,而不是一次加載所有匹配數據,這會在不使用WiFi時真的減慢呈現匹配的UI。 – Corbin87 2014-03-02 18:32:12
我想確保我明白你在說什麼。我正嘗試從玩家A向玩家B發送一個邀請,並且我希望玩家B能夠在他們回覆之前在他們的匹配列表*上看到邀請。換句話說,當我爲B調用'loadMatches'時,它應該顯示所有匹配的活動,以及他們被邀請的所有匹配,*無論他們是否響應了邀請。*看起來好像就像你說這是你的事情。我很困惑,因爲對我而言,B從來沒有看到他們被邀請參加的比賽。 – 2017-03-07 19:53:21
在我問到這個問題之後,我想清楚了,但是我想留下這個問題以防其他人擁有它。關鍵在於,邀請不會出現在玩家的名單上,直到*輪到他*爲止。遊戲中心有一個範例,希望您能夠在接受邀請後立即玩遊戲,因此它會阻止回合制邀請,直到被邀請的玩家可以立即行動。對於遊戲開始前玩家需要互動的遊戲來說,這是蹩腳的,但是你去了。 – 2017-03-07 19:58:47