iOS开发:收到Game Center邀请时,如何获取GKMatch对象?

时间:2011-01-09 06:53:06

标签: iphone ipad ios gamekit game-center

我正在构建一款使用Game Center的iPhone游戏,我很难理解如何开始通过收到朋友的邀请来开始的比赛游戏。 docs说这个......

  

acceptedInvite参数是   申请收到时为非零   直接来自他人的邀请   播放器。在这种情况下,另一个   玩家的应用程序已经存在   创建了匹配请求,所以这个   您的申请副本不需要   创建一个。

根据这个,我不需要创建匹配请求,因为进行邀请的玩家已经创建了一个匹配请求。如果是这样,我如何获得向/从其他播放器发送/接收数据所需的GKMatch对象?我知道获取GKMatch对象的唯一方法是创建匹配请求并调用findMatchForRequest方法,文档说我不应该这样做。

他们唯一的代码示例涉及创建和使用GKMatchmakerViewController,我无法使用,因为我正在创建自己的自定义视图。

非常感谢你的智慧!

3 个答案:

答案 0 :(得分:1)

我收到了一位苹果工程师对此的回复,这就是他所说的......

  

您可以使用自定义进行自动匹配   观点,但没有办法使用   邀请不使用   GKMatchmakerViewController。那么你   应该遵循代码示例。

我想我的用户界面的一致性必须要彻底打破。

答案 1 :(得分:0)

我修复了游戏中心邀请问题。请按照以下步骤操作: - 1-检查您的推送通知是否已在设置中启用,并且您的游戏中心帐户设置中的朋友邀请已启用 2 - 现在安装最新版本的水果忍者游戏
3开放式游戏中心并登录,然后将其放入后台 4开水果忍者直接转到新游戏=> multiplayer => gamecenter
5 - 现在您将看到两个选项(邀请朋友和现在在右上角播放)
6点击现在播放按钮,所以游戏中心会为你找到不请自来的游戏 7-游戏开始时你可以在右上角看到你未被邀请的朋友的名字。游戏结束后,直接在后台和游戏部分直接进入游戏中心,然后进入游戏列表中的水果忍者。在这里,您将看到最近播放的选项,触摸它。在这里,您将在列表顶部看到一个玩家名称(您玩过的人)触摸该名称并立即向他发送好友请求。
8-如果他接受请求goto friends =>(你最近添加的朋友)=>一起玩游戏(水果忍者)=>点击播放(右上角)
9-现在游戏将打开,你将看到GC页面。点击邀请按钮,选择最近添加的朋友,然后发送,等待他并准备好玩。

现在您的gc ID已经过验证,您可以邀请任何朋友,也可以玩任何游戏(支持邀请功能)

答案 2 :(得分:0)

尽管苹果工程师说过,如果不使用自定义视图尝试这样的邀请怎么样:

[[GKLocalPlayer localPlayer] loadFriendsWithCompletionHandler:^(NSArray *friends, NSError *error) {



[GKPlayer loadPlayersForIdentifiers:friends withCompletionHandler:^(NSArray *players, NSError *error) {
    for (GKPlayer *player in players) {
        NSLog(@"%@",player.alias); //here I'm just logging the aliases but the array players can be used in any way
    }
}];

}];

现在,如果用户在自定义视图中从此列表中选择玩家,则GKMatchRequest具有名为playersToInvite的属性,我们可以将这些玩家设置为该属性。并使用此请求以编程方式创建匹配。

这看起来很有可能,但我没有试过说实话