今天,为了实现某个功能,工程中加入了一个第三方开源组件,新建的测试项目一切正常,但同样的方式加入到工程中之后,运行,crash,提示EXC_BAD_ACCESS,断点停到了开源组件的类中,考虑到开源组件使用ARC,旧工程为no-ARC,一直认为是ARC导致的,反复检查,已经加入-fobjc-arc链接属性,问题依然存在,困惑好久,直觉告诉我是工程中某个设置的问题,由于实在找不到问题的根源,正准备替换第三方开源组件,在stackoverflow上找到了答案:
移除Other Linker flags中的-weak_library和/usr/lib/libSystem.B.dylib,如果工程需要这个flag,添加-weak-lSystem.