如何为iOS 9 Xcode 7 beta 6编写Invitehandler

时间:2015-08-29 12:02:21

标签: ios xcode swift

我正在尝试开发一款简单的多人游戏。按照Apple文档中的说明,我正在实施邀请处理程序“matchforinvite”,以便我可以接受来自其他玩家的邀请。 https://developer.apple.com/library/ios/documentation/GameKit/Reference/GKMatchmaker_Ref/#//apple_ref/occ/instm/GKMatchmaker/matchForInvite:completionHandler:

我是通过以下功能

来做到这一点的
func setUpInviteHandler() {

    GKMatchmaker.sharedMatchmaker().matchForInvite(invite: GKInvite, completionHandler: { match, error -> Void in
        if invite.playerAttributes != 0 {
            print(invite.playerAttributes)
        }
    })

}

但是,无论我如何更改它,Xcode始终存在错误。我怎么能解决它?

这里的问题(我猜)是GKInvite对象在有邀请之前永远不会存在。但是,当你执行这样的函数时,必须初始化GKInvite才能被调用。你怎么能初始化运行时对象?最糟糕的是我无法做到!(GKInvite)或GKInvite == nil检查因为类类型。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

目前我将matchforinvite处理程序放在协议函数下

   func player(player: GKPlayer, didAcceptInvite invite: GKInvite) {
    self.debug("did received and accepted an invite" + String(player.playerID))

    GKMatchmaker.sharedMatchmaker().matchForInvite(invite, completionHandler: { match, error -> Void in
        self.debug("Invite received")





    })


}

错误消失但仍然无法通过