首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >iOS 10中的游戏中心挑战

iOS 10中的游戏中心挑战
EN

Stack Overflow用户
提问于 2017-01-04 04:03:08
回答 1查看 877关注 0票数 17

我已经实现了游戏中心的功能,比如成就和排行榜,现在我正在努力应对挑战。我的印象是,我不需要添加任何额外的代码-如果我有成就或排行榜,玩家将能够向他们的朋友发送挑战。但现在,在iOS10中,你不再能够将玩家添加为好友--挑战通过iMessages来处理。问题是-我在GKViewController屏幕的任何地方都看不到这个功能。如果你选择了一个成绩/排行榜分数,你可以点击“挑战朋友”,但它只会提示你的朋友列表中已经有的球员,而不是你的联系人列表中的球员。苹果也弃用了GKChallengesViewController,所以我不知道该怎么做。

有人知道如何在iOS 10的游戏中心添加iMessage挑战赛功能吗?

更新:我已经看到这个特性存在于GKMatchmakerViewController中,但这似乎是针对多玩家类型的东西。我仍然不确定如何使用它来发送挑战。

EN

回答 1

Stack Overflow用户

发布于 2017-02-11 02:40:19

Apple Docs

发出质询不会向发出质询的玩家显示用户界面;这是您需要自己实现的代码。

还有一些关于如何发布挑战和如何找到可以邀请的玩家的示例,例如:

- (void) challengePlayersToCompleteAchievement: (GKAchievement*) achievement
{
    [achievement selectChallengeablePlayers:[GKLocalPlayer localPlayer].friends withCompletionHandler:^(NSArray *challengeablePlayerI, NSError *error) {
        if (challengeablePlayers)
        {
            [self presentChallengeWithPreselectedPlayers: challengeablePlayers];
        }
    }];
}

...or:

- (void) challengeLesserMortalsForScore: (int64_t) playerScore inLeaderboard: (NSString*) leaderboard
{
    GKLeaderboard *query = [[GKLeaderboard alloc] init];
    query.leaderboardIdentifier = leaderboard;
    query.playerScope = GKLeaderboardPlayerScopeFriendsOnly;
    query.range = NSMakeRange(1,100);
    [query loadScoresWithCompletionHandler:^(NSArray *scores, NSError *error) {
        NSPredicate *filter = [NSPredicate predicateWithFormat:@"value < %qi",playerScore];
        NSArray *lesserScores = [scores filteredArrayUsingPredicate:filter];
        [self presentChallengeWithPreselectedScores: lesserScores];
    }];
}

从外观上看,你仍然只能邀请已经是游戏中心一部分的玩家,也就是说,联系人列表中没有任意的“联系人”(这是有道理的),但这只是一个假设。

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

https://stackoverflow.com/questions/41451444

复制
相关文章

相似问题

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