iOS 6 GKChallenge生成唯一标识符?

3

我正在编写一款游戏,其中的核心内容是基于 Game Center 的互动。 我想实现游戏内挑战,但问题是我需要某种唯一标识符来跟踪服务器上的每个发出的挑战。

我尝试通过 GKChallenge 对象实现此目的,该对象具有以下字段:

  • issueDate
  • issuingPlayerID
  • receivingPlayerID
  • message
  • state
  • completionDate

问题在于,这里唯一可用的(对我的情况而言)唯一字段是 issueDate,但是我无法在 issueChallenge 方法中检索到 issueDate。

因此问题是:是否有可能为 Game Center 挑战生成任何形式的唯一 ID? 如果不行,是否有任何其他解决方案可用于挑战?

1个回答

2
您只能通过游戏中心发布GKScoreChallenges和GKAchievementChallenges。我不明白为什么您要在自己的服务器上跟踪它们。游戏中心会处理这些挑战,您可以使用loadReceivedChallengesWithCompletionHandler获取本地玩家的挑战列表。 GKScoreChallenge具有一个GKScore,其中包含一个唯一字段(uint64_t context),允许游戏存储和检索与分数相关的其他数据。
如果您不想使用这些游戏中心功能,并且通过自己的服务器处理挑战,您可以创建一个GKChallenge子类并实现自己的挑战逻辑。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接