捕获在子线程中调用UI逻辑

#iOS开发高级技能#app莫名的crash,导航栏错乱了,全部动画都失效了,界面黑屏了,视图莫名地错位了...,而且这些问题还不是必现的,那很有可能你在子线程中调用UI逻辑了,这是非常严重的问题,所有UI逻辑必须放主线程中执行。所以必须在内测时就捕获这种错误逻辑,办法就是hook所有uiview下的所有方法,在hook函数中判断当前是否是在主线程,如果是非主线程,必须打印线程调用栈并触发crash,然后收集crash找到对应代码,将ui逻辑强抛主线程执行来解决此类问题。

推荐阅读更多精彩内容