Xcode 9 报错 unrecognized selector sent to instance

按照正常情况下,报错

unrecognized selector sent to instance 地址符

都是因为野指针,对象提前销毁,或者是调用的方法没有,或者是 unmutable 对象调用了 mutable 类的方法,导致出错,对于一般的 iOSer 来说,只要细心一点都能够很快的解决这个问题,但是自从升级到 Xcode 9 ,发生这个问题的因素又增加了一条,而且由于惯性的原因,可能一般人不会太关注。

一、使用 Cocoapods 做项目包管理器

  正常情况下,只要在 pod 文件中正确引用,在项目中就能够直接使用,但是在 Xcode 中会出现,通过 cocoapods 应用之后,Build 的时候没有出现问题,但是在 Run 的时候,因为不能找到执行文件(.m)直接 Crash。

二、直接向项目中添加文件

  有时候可能会直接向项目总拖拽文件,之前的时候,拖拽完也是能够直接使用的,但是在 Xcode 9 时代大部分情况下不能够使用。我之前就是将自己之前写好的 Category 文件拖拽进去,在 Build 阶段一直都没有问题,但是在 Run 的时候,找不到方法和属性而 Crash,我以为是苹果更新了 Category 的属性,我没有关注而导致的问题,找了好一会,最后才发现也是 Xcode 的 bug,并没有直接将执行文件添加到项目中去。

总结:

  解决有 Xcode 9 的 bug 引起的以上两种不正常的 Crash 的方法如下:

发自简书 Web

在 Build Phases 中的 compile Sources 中点击下方加号,添加对应的 .m 文件,解决由于 Xcode 9 引起的找不到方法的bug。

PS

  其他的因为找不到地址而引起的 bug,还希望各位 iOSer 细心 review 自己的代码,争取尽量少写 bug。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 每年公司都会来一两个实习生,今年新来的实习生是个不爱说话的小姑娘,我们都叫她豆豆。北京的实习生工资都不高,尤其是寒...
    每日荐读阅读 1,594评论 0 0
  • 思考:随意的一句话,如果按照提问的七个抽屉来演练的话都可能会问到70个问题,这就是提问的魅力。 在销售界中,有这样...
    杨雪雪阅读 1,666评论 0 0
  • 昨天又从头看了一遍《别怕,vba很容易》感觉又有一点开窍了。对一些语法,比如方法和属性又有了新的认识。 sub 过...
    youattackme阅读 3,089评论 0 1
  • 小花和小草 作者:周憬扬
    周憬扬阅读 2,994评论 0 0

友情链接更多精彩内容