2012-11-21 74 views
3

我目前正在撰写一款基于游戏中心参与度的游戏。我想实现游戏中的挑战,但问题是我需要为每个发布的挑战提供某种独特的标识符,以便我可以跟踪服务器上的挑战。iOS 6 GKChallenge生成唯一标识符?

我试图通过GKChallenge对象,其中有场来实现这一点:

  • issueDate
  • issuingPlayerID
  • receivingPlayerID
  • 消息
  • 状态
  • completionDate

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

所以问题:是否有可能为游戏中心挑战生成任何种类的唯一ID?如果没有,是否有其他解决方法来应对挑战?

回答

2

您只能通过游戏中心发布GKScoreChallenges和GKAchievementChallenges。我不明白你为什么要在你的服务器上跟踪它们。游戏中心处理挑战,您可以使用loadReceivedChallengesWithCompletionHandler获得本地玩家的挑战列表。

GKScoreChallenge有一个GKScore它有一个独特的字段(uint64_t上下文),允许游戏存储和检索与分数相关的额外数据。

如果您不想使用这些游戏中心功能并通过您自己的服务器处理挑战,则可以创建一个GKChallenge子类并实现自己的挑战逻辑。