我正在从事移动应用开发,最近一直在研究移动游戏。我偶然发现了一个 Github Repo (Here)。这是一款使用 SpriteKit 构建的游戏,我正在努力学习。
我尝试在运行 iOS 7 的 iPhone 上使用 Xcode 6.0.1 构建和运行它,但它崩溃了。它在运行 iOS 8 的设备上运行良好。我添加了一个断点异常来尝试确定崩溃的原因,这就是我得到的:
2014-09-25 14:23:35.813 spritybird[4470:60b] -[Scene delegate]: unrecognized selector sent to instance 0x175de140
(lldb)
它似乎在 Scene.m 文件的第 61 行中断。
if([self.delegate respondsToSelectorselector(eventStart)]){ // This is line 61
[self.delegate eventStart];
}
我似乎无法理解是什么导致它仅在 iOS 7 上崩溃。
任何帮助都会很棒!谢谢。
由于 Scene 很可能是 SKScene
子类,因此它不会获取 delegate
属性(它是 SKSceneDelegate
的一个实例,直到 iOS8
所以代码是错误的。
在那个时候修复
if([self respondsToSelectorselector(delegate)]){
if([self.delegate respondsToSelectorselector(eventStart)]){
[self.delegate eventStart];
}
}
但你真的想深入研究代码并在 Scene
的来源及其继承中工作,以确保 eventStart
似乎不是 SpriteKit
框架符号。我猜还有一些委托(delegate)协议(protocol)的自定义。
关于iOS 应用程序仅使用 Xcode 6.0.1 在 iOS 7 上崩溃 - 无法识别的选择器发送到实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26040131/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |