Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何使用游戏中心向其他玩家发送邀请?_Objective C_Game Center - Fatal编程技术网

Objective c 如何使用游戏中心向其他玩家发送邀请?

Objective c 如何使用游戏中心向其他玩家发送邀请?,objective-c,game-center,Objective C,Game Center,我是游戏中心的新手,我正在构建多人游戏。我的tableview中有不同的用户;现在我想向特定用户发送一个匹配邀请。对于发送邀请,我使用以下代码: GKMatchRequest *request = [[GKMatchRequest alloc] init]; request.minPlayers = 2; request.maxPlayers = 2; request.playersToInvite = [[NSArray alloc] initWithObjects:player.playe

我是游戏中心的新手,我正在构建多人游戏。我的tableview中有不同的用户;现在我想向特定用户发送一个匹配邀请。对于发送邀请,我使用以下代码:

GKMatchRequest *request = [[GKMatchRequest alloc] init];
request.minPlayers = 2;
request.maxPlayers = 2;

request.playersToInvite = [[NSArray alloc] initWithObjects:player.playerId, nil];
request.inviteMessage = @"Your Custom Invitation Message Here";

request.inviteeResponseHandler = ^(NSString *playerID, GKInviteeResponse response)
{
    [self updateUIForPlayer: playerID accepted: (response == GKInviteeResponseAccepted)];
};

但是如何收到邀请呢?我想我必须在GameKitHelper类中实现一个方法,但我不确定如何处理这个问题。

我的老师帮我解决了这个问题,我想如果有人在这里可以使用这个代码,我可以在这里发布工作代码

- (void)inviteFriends: (NSArray*) friends
{
       GKMatchRequest *request = [[GKMatchRequest alloc] init];
    request.minPlayers = 2;
    request.maxPlayers = 2;
    request.defaultNumberOfPlayers = 2;
    request.recipients =  friends;
    request.inviteMessage = @"Your Custom Invitation Message Here";
    [[GKMatchmaker sharedMatchmaker] findMatchForRequest:request withCompletionHandler:^(GKMatch* match, NSError *error) {
        if (error)
        {
            //Invite has not been sent

            //  //NSLog(@"Invitation has not been sent");
        }
        else if (match != nil)
        {
            //whatever you want to do when the receiver accepts the invite
            //NSLog(@"Invitation has  been sent with match object = %@",match);

        }
    }];
    request.recipientResponseHandler= ^(GKPlayer *player, GKInviteeResponse response)
    {

        //NSLog(@"response Get From Other User.");

        switch (response) {
            case GKInviteeResponseAccepted:
            {

            }
                break;
            case GKInviteeResponseDeclined:
            {

            }
                break;
            case GKInviteeResponseFailed:
            {

            }
                break;
            case GKInviteeResponseIncompatible:
            {

            }
                break;
            case GKInviteeResponseUnableToConnect:
            {


            }
                break;
            case GKInviteeResponseNoAnswer:
            {


            }
                break;

            default:
                break;
        }

    };


}