系统环境 MacOS 10.12.6 4GB MBA,编译环境 Xcode 9.2 Swift 4.1
问题现象
在模拟器上编译运行一切正常,但在真机上编译运行时发现某一个界面显示方法总是返回错误的内容。
关键是在该方法上下断点竟然无法触发,是的,我100%肯定会调用该方法!!!
重启真机,删除App重新安装无效!
因为界面是显示数据库中对应的内容,索性重新从云中还原模拟器中备份的数据,可是在真机中App竟然崩溃了,错误原因是CoreData托管对象无法响应一个肯定存在的方法!!!?
之前改动了神马?
- 改动了一个CoreData的托管类的结构,但出错那个托管对象的类半个字也没有改过
- 为一个"中间件"类添加了几个实例方法,所谓"中间件"类是用来连接后台数据库和前端显示对象的类
- 那个断点无法触发的方法就在"中间件"类里
那么是什么原因呢?
断点无法触发有两种原因:
- 没有执行到断点所在位置
- 可执行文件中断点位置和实际源代码中断点行不匹配