GKMatch sendData在Swift中生成EXC_ARM_BREAKPOINT和EXC_BAD_INSTRUCTION

时间:2014-10-26 20:04:18

标签: ios swift game-center

我正在将游戏迁移到Swift。当我到达游戏应通过游戏中心向其他玩家发送按摩时,我在iPhone 5上收到EXC_ARM_BREAKPOINT错误并在iOS模拟器上收到EXC_BAD_INSTRUCTION错误。

myMatch是从GameCenterViewController初始化的。一切似乎都很好,但无论我做什么,我都会失败并且程序崩溃了。

我试图调用sendDataToAllPlayers。结果是一样的。为错误尝试nil,同样失败。尝试空消息,同样失败。

我的代码如下:

   func StartOnlineGame() {
    PlayedNumberSent=false
    caller=0

    self.playerReset()
    myMatch.delegate=self;
    gameState=Game_States.GAME_RUNNING

    myCoin=Int(arc4random())

    var init_message:network_message = network_message(message:messagetype.M_INIT, playercoin: 0)
    var messageData:NSData?
    var error: NSError?

    init_message.playercoin=myCoin;

    //var toPlayers=myMatch.players

    messageData!=NSData(bytes:&init_message, length:sizeof(network_message))
    myMatch.sendData(messageData!, toPlayers:myMatch.players, withDataMode:GKMatchSendDataMode.Reliable, error:&error)

}

感谢您的帮助!

Endre

1 个答案:

答案 0 :(得分:0)

最后,事实证明这是Swift编译器中的一个错误。任何代码更新都无法修复它。

我必须回到Objective-C,直到修复了所有这些错误。