• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

iOS 应用程序仅使用 Xcode 6.0.1 在 iOS 7 上崩溃 - 无法识别的选择器发送到实例

[复制链接]
菜鸟教程小白 发表于 2022-12-12 11:54:26 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在从事移动应用开发,最近一直在研究移动游戏。我偶然发现了一个 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 上崩溃。

任何帮助都会很棒!谢谢。



Best Answer-推荐答案


由于 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap