我目前正在撰写一款严重基于游戏中心互动的游戏。我想实现游戏中的挑战,但问题是我需要为每个已发布的挑战提供某种唯一标识符,以便我可以跟踪我服务器上的挑战。
我尝试通过GKChallenge个对象实现此目标,该对象包含字段:
问题是这里唯一可用的(对于我的情况)唯一字段是issueDate,但是我无法在issueChallenge方法中检索issueDate。
所以问题:是否有可能为游戏中心挑战生成任何类型的唯一ID?如果没有,是否还有其他挑战解决方法?
答案 0 :(得分:2)
您只能通过游戏中心发布GKScoreChallenges和GKAchievementChallenges。我不明白你为什么要在你的服务器上跟踪它们。游戏中心处理挑战,您可以使用loadReceivedChallengesWithCompletionHandler
获取本地玩家的挑战列表。
GKScoreChallenge
有一个GKScore
,其中包含一个唯一字段(uint64_t上下文),允许游戏存储和检索与该分数相关的其他数据。
如果您不想使用这些游戏中心功能并通过自己的服务器处理挑战,您可以创建一个GKChallenge子类并实现您自己的挑战逻辑。