邀请不拥有游戏的朋友加入GKTurnBasedMatch

时间:2014-09-03 17:51:35

标签: ios objective-c game-center gamekit

在我的游戏中,我试图允许用户根据与朋友的匹配开始转弯。我在表格中向用户显示朋友,用户选择一个。一旦用户选择朋友,游戏就开始并且用户第一次转弯。当所选的朋友安装了游戏时,一切正常。如果朋友没有安装游戏,则匹配结束并且GKTurnBasedParticipant状态为Declined。

这是创建匹配的代码。

        GKMatchRequest *request = [[GKMatchRequest alloc] init];
        request.minPlayers = 2;
        request.maxPlayers = 2;
        request.playersToInvite = @[playerId]; // this is the player id selected from the friends table

        [GKTurnBasedMatch findMatchForRequest:request withCompletionHandler:^(GKTurnBasedMatch *match, NSError *error) {
            if (error == nil && match != nil){
                [self startNewMatch:match];
            }
        }];

重现的步骤:

  1. 在iTunes Connect中创建2个测试用户
  2. 在设备1(非模拟器)上打开游戏并登录游戏中心
  3. 在设备2(非模拟器)上打开游戏中心并登录
  4. 在设备1上将好友请求发送到设备2上的帐户
  5. 在设备2上接受友谊
  6. 在设备1上开始游戏,然后先转弯。
  7. 预期:匹配正在等待设备2轮流。

    实际:匹配已结束,状态为GKTurnBasedMatchStatusEnded,而设备2 GKTurnBasedParticipant的状态已拒绝。

    如果设备2是模拟器而不是匹配进入正确的状态,那么事情就会变得更有趣。

0 个答案:

没有答案