游戏在 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)")。
看看这个
labelNodeWithText 仅适用于 iOS 8 及更高版本。它不适用于 iOS 7。您可以改为:
let label = SKLabelNode() // or SKLabelNode(fontNamed: "whatever")
label.text = "hey there"
我几乎完成了我的游戏开发,它在 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)")。
看看这个
labelNodeWithText 仅适用于 iOS 8 及更高版本。它不适用于 iOS 7。您可以改为:
let label = SKLabelNode() // or SKLabelNode(fontNamed: "whatever")
label.text = "hey there"