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];
}
};
答案 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来邀请特定朋友玩游戏,并且它可以很好地调试邀请处理程序代码。
快乐的游戏!