玩家ToInvite的最终答案

时间:2010-10-18 19:39:36

标签: objective-c ios gamekit game-center

Game Center文档指出

  

playersToInvite参数不为零   当您的应用程序启动时   直接来自游戏中心   申请举办比赛。

有些人问过这是如何运作的,即似乎没有办法从Game Center应用程序中选择朋友并邀请他们从游戏中心播放;它只适用于您在游戏中邀请的情况。这个文档是否已过时或是否有秘密方式从Game Center开始游戏特定的比赛?我想测试我的inviteHandler,但我无法确定如何将此参数传递给应用程序。

[GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite)
{
    // clean up games in progress here
    if (acceptedInvite)
    {
        NSLog(@"acceptedInvite %@", acceptedInvite);
        // The acceptedInvite parameter is non-nil when the application receives an 
        // invitation directly from another player.
        GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithInvite:acceptedInvite] autorelease];
        mmvc.matchmakerDelegate = self;
        [self disableHomeUI];
        [self presentModalViewController:mmvc animated:YES];
    }
    else if (playersToInvite)
    {
        NSLog(@"playersToInvite %@", playersToInvite);
        // playersToInvite parameter is non-nil when your application is launched 
        // directly from the Game Center application to host a match
        [self disableHomeUI];
        [self doPresentMatchMakerUIWithPlayersToInvite:playersToInvite];
    }
};

4 个答案:

答案 0 :(得分:1)

我认为文档并不反映当前的事态。据我所知,Game Center App目前甚至没有提供邀请朋友玩的界面。

另外,检查开发者论坛(显然你有;))。来自库比蒂诺的人似乎认为这是不可能的。所以......

答案 1 :(得分:1)

将我的应用程序Cee-lo启动后,playersToInvite代码变为活动状态。这似乎是因为Gamebox应用程序的Sandbox版本本身不允许您从那里开始与玩家一起玩游戏,但是生产版本可以。如果你问我,不是一个非常好的测试环境!

答案 2 :(得分:1)

现在是一种使用Game Center应用邀请游戏中心朋友的方法。它只适用于你的游戏调用registerListener:on localPlayer GKPlayer:

游戏中心应用 - >游戏标签 - >你的游戏 - >球员部分 - >选择一个球员 - > “玩游戏”

这会向其他玩家发送推送通知邀请。游戏必须在任一设备上运行。截至iOS7。

此流程也有效: 游戏中心应用 - >朋友标签 - >点击一个朋友 - >点击一个共同的游戏(你的游戏) - >点按右上角的“...” - >点按“播放”

答案 3 :(得分:0)

我可能错了,但我认为只是“模拟器”不能邀请特定的朋友玩。

我已经能够在沙盒中运行2个或更多的iPhone来邀请特定朋友玩游戏,并且它可以很好地调试邀请处理程序代码。

正如另一张海报所提到的,目前似乎没有邀请特定朋友从游戏中心玩特定游戏的方式。

快乐的游戏!