游戏在 iOS 8 上运行但在 iOS 7 上崩溃

game works on iOS 8 but crashes in iOS 7

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

错误是"thread 1:signal 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:]:无法识别的选择器发送到 class 0x10f22a3a0'

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

看看这个

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"