GameCenter邀请处理程序

0xD*_*15B 6 multiplayer objective-c invite game-center

试图实现多人游戏.使用Game Center中的示例- 发送和接收数据.

一切似乎都没问题,但在苹果文档中也有关于邀请处理程序的说法.

[GKMatchmaker sharedMatchmaker].inviteHandler = ^(GKInvite *acceptedInvite, NSArray *playersToInvite) {
   // Insert application-specific code here to clean up any games in progress.
   if (acceptedInvite) {
        GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithInvite:acceptedInvite] autorelease];
        mmvc.matchmakerDelegate = self;
        [self presentModalViewController:mmvc animated:YES];
    } else if (playersToInvite) {
        GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease];
        request.minPlayers = 2;
        request.maxPlayers = 4;
        request.playersToInvite = playersToInvite;

        GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithMatchRequest:request] autorelease];
        mmvc.matchmakerDelegate = self;
        [self presentModalViewController:mmvc animated:YES];
    }
};
Run Code Online (Sandbox Code Playgroud)

问题很简单:我不知道在哪里添加这段代码.

Jil*_*ouc 11

正如文档中所述

应用程序启动后,您的应用程序应尽早设置邀请处理程序; 设置处理程序的适当位置在您提供的完成块中,该块在本地播放器通过身份验证后执行.

在代码的某个地方,您应该使用类似的东西对本地播放器进行身份验证

[[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) {
    if (error == nil) {
        // Insert your piece of code here
    } else {
        // Handle the error
    }
}];
Run Code Online (Sandbox Code Playgroud)

希望有所帮助