游戏适用于iOS 8但在iOS 7中崩溃

时间:2015-02-09 17:15:41

标签: ios swift sprite-kit

我几乎完成了我的游戏开发,它在iOS 8上完美运行,但我将部署目标更改为iOS 7.1并尝试在iOS 7.1模拟器上运行,游戏崩溃。有什么理由呢?我使用swift作为编程语言。

错误是"线程1:信号SIGABRT"

编辑1:当我添加SKLabelNode时,它似乎崩溃了。这是添加分数标签的功能:

var scoreLabel = SKLabelNode()

func addScoreLabel(){

    scoreLabel = SKLabelNode(text: "Score: \(score)")
    scoreLabel.fontSize = 25

    let xPos = size.width/2 //- gameOverHUD.size.width/5
    let yPos = size.height/2 //+ gameOverHUD.size.height/2 - 5

    scoreLabel.position = CGPoint(x: xPos, y: yPos)
    addChild(scoreLabel)

}

这是我在输出控制台中遇到的完整错误:

由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:' + [SKLabelNode labelNodeWithText:]:无法识别的选择器发送到类0x10f22a3a0'

编辑2:我能够修复它。如果有人遇到同样的问题,只需替换' scoreLabel = SKLabelNode(文字:"得分:(得分)")' with scoreLabel.text ="得分:(得分)")。

1 个答案:

答案 0 :(得分:1)

检查出来

https://developer.apple.com/library/prerelease/ios/documentation/SpriteKit/Reference/SKLabelNode_Ref/index.html#//apple_ref/occ/clm/SKLabelNode/labelNodeWithText

labelNodeWithText仅适用于iOS 8及更高版本。它不适用于iOS 7.你可以改为:

let label = SKLabelNode()  // or SKLabelNode(fontNamed: "whatever")
label.text = "hey there"