我正在开发一个多人游戏。我想使用“标准”GKMatchmakerViewController来查找这样的球员:
let matchrequest = GKMatchRequest()
matchrequest.minPlayers = 2
matchrequest.maxPlayers = 2
matchrequest.defaultNumberOfPlayers = 2
matchrequest.inviteMessage = "Hello, do you want to play with me ?"
let mmVC = GKMatchmakerViewController(matchRequest: matchrequest)
mmVC?.matchmakerDelegate = self
self.present(mmVC!, animated: true)如果我在两个设备上调用GKMatchmakerViewController并按下“立即播放”,它们就会找到对方,一切都很正常。
然而,当我按下“邀请朋友”时,按右边的"+“键添加一个收件人,然后转到”附近“选项卡,没有玩家出现。
Q1:为什么我在“附近”中看不到播放器,但可以通过按“立即播放”来连接到它
Q2:如果我通过iMessage向其他播放器发送邀请,其他设备就会收到消息,当我点击它时,应用程序就会启动。但它仍然停留在主屏幕上,没有采取任何行动来响应邀请。需要实现什么协议或回调才能对“游戏邀请”导致的应用启动做出反应?
请参考最新的API。GC已经发生了巨大的变化,因此大多数答案都是指过时的API。
谢谢,克里斯
发布于 2018-02-14 17:45:03
为了Q2。您需要实现GKLocalPlayerListener来应答呼叫。
您是如何发送邀请的?例如,如果我想向我的朋友"Blazing420“发送邀请,我如何知道他的GKPlayer ID,或者我如何找到他,因为GKMatchRequest.recipients只将GKPlayers作为参数。
https://stackoverflow.com/questions/48691752
复制相似问题