2014-09-19 68 views
2

我正在iOS8中使用GameCenter/GameKit來構建TurnBasedMatch。我很困惑如何識別當前玩家(即當前在iPhone上運行的應用程序)是否是現在的玩家。我遇到這個問題的原因是蘋果文檔說在iOS8中不推薦使用GKTurnBasedParticipant.playerID。iOS8 GameKit TurnBasedMatch playerID已棄用

我曾經做到以下幾點: - 當GameCenter的驗證: (1)存儲當前playerID本地 (2)負載電流匹配 (3)檢查是否Match.currentParticipant的playerID本地存儲playerID相匹配,並且如果是,則允許玩家輪流使用

現在在iOS8中 - currentParticipant(這是一個GKTurnBasedParticipant)有playerID棄用。那麼我怎麼知道當前的參與者是否真的是本地球員呢?

回答

3

你不需要存儲playerID來檢查身份。當地playerID可以隨時訪問:

[GKLocalPlayer localPlayer].playerID 

至於如何使用playerID現在,它的過時,該屬性僅從GKTurnBasedParticipantGKPlayer移動。這不會影響我之前粘貼的代碼,但它會影響您訪問match.participants的方式。因此,對於任何給定的球員,訪問它在iOS8上的方法是:

GKTurnBasedParticipant *p1 = (GKTurnBasedParticipant *)self.match.participants[index]; 
p1.player.playerID 

正如你所看到的,你只需要一個.player添加到您當前密碼。