首页 文章

ios11游戏中心发现玩家失败

提问于
浏览
0

我正在开发一款多人游戏 . 我想使用“标准”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发生了巨大变化,大多数SO答案都引用了已弃用的API .

谢谢克里斯

1 回答

  • 0

    对于Q2 . 你需要实现GKLocalPlayerListener来接听电话 .

    你怎么能发送邀请?我正在试图找出如何从字符串中获取GKPlayer . 喜欢如果我想向我的朋友“Blazing420”发送邀请,我如何知道他的GKPlayer ID或我如何找到他,因为GKMatchRequest.recipients仅将GKPlayers作为参数 .

相关问题