gpt4 book ai didi

ios - iOS 10 中的游戏中心挑战

转载 作者:IT王子 更新时间:2023-10-29 05:17:46 26 4
gpt4 key购买 nike

我已经实现了成就和排行榜等 Game Center 功能,现在我正在应对挑战。我的印象是我不需要添加任何额外的代码——如果我有成就或排行榜,玩家就可以向他们的 friend 发送挑战。但是现在,在 iOS10 中,您不再能够将玩家添加为好友——挑战是通过 iMessages 处理的。问题是 - 我在 GKViewController 屏幕的任何地方都看不到该功能。如果您选择一个成就/排行榜分数,您可以点击“挑战 friend ”,但它只会建议您已经在您的 friend 列表中而不是在您的联系人列表中的玩家。 Apple 还弃用了 GKChallengesViewController,所以我不确定去哪里查看如何执行此操作。

有谁知道如何将 iMessage 挑战功能添加到 iOS 10 中的游戏中心?

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

最佳答案

来自Apple Docs :

Issuing a challenge does not display a user interface to the player issuing the challenge; this is code you need to implement yourself.

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

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

...或者:

- (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];
}];
}

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

关于ios - iOS 10 中的游戏中心挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41451444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com