首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GameCenter - GKTurnBasedMatch.loadMatchesWithCompletionHandler返回nil数组

GameCenter - GKTurnBasedMatch.loadMatchesWithCompletionHandler返回nil数组
EN

Stack Overflow用户
提问于 2016-04-08 23:26:47
回答 2查看 258关注 0票数 1

我已经为我的游戏设置了基于GameCenter回合的比赛。现在,我只是尝试显示当前GK球员的当前比赛列表。

下面是我的代码:

代码语言:javascript
复制
  GKTurnBasedMatch.loadMatchesWithCompletionHandler { (matchesOpt, errorOpt) in

    if let error = errorOpt {
      print("Error loading matches: \(error.localizedDescription)")
    } else if let matches = matchesOpt {
      self.matches = matches
      self.gamesTableView.reloadData()
    } else {
      print("Matches array is nil")
    }
  }
}

第三种情况总是命中,matches数组为空。

我想应该有火柴。我正在使用

代码语言:javascript
复制
GKTurnBasedMatch.findMatchForRequest 

开始匹配,并且它成功了。此外,如果我注意到来自findMatchForRequest的匹配的matchId,然后调用

代码语言:javascript
复制
GKTurnBasedMatch.loadMatchWithID(matchId)

它查找匹配,包含正确的匹配数据和所有内容。

有人知道如何让loadMatchesWithCompletionHandler返回我可以通过id检索的相同游戏吗?

编辑:这是验证码:

代码语言:javascript
复制
GKLocalPlayer.localPlayer().authenticateHandler = { (viewControllerOpt, errorOpt) in

  NSLog("GK local player authentication finished. Error: \(errorOpt)")
  if let viewController = viewControllerOpt {
    self.presentViewController(viewController, animated: true, completion: nil)
  }

  GKLocalPlayer.localPlayer().registerListener(self)

} 
EN

回答 2

Stack Overflow用户

发布于 2016-05-20 01:05:10

最近似乎有很多人都遇到过这种情况。不确定它是否相关,但引用的示例一直在使用swift。基于How to list all available GKTurnBasedMatches for a player?,看起来只要创建一个排行榜就可以解决这个问题。

基于https://stackoverflow.com/a/34056115/1641444的帖子,似乎有时游戏中心会变得麻木,无论出于什么原因,创建排行榜/成就,甚至只是更改默认设置,kick都会重新启动它。

票数 1
EN

Stack Overflow用户

发布于 2016-04-24 04:26:28

两周以来,我也遇到了同样的问题。从一秒到另一秒,它都在工作,似乎是一个问题@apple。不做任何更改,然后重试:)

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36503517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档