现有项目是早期Xcode7编写的,一直到现在还是使用Xcode7编写。近期一位用户手机下载App出现闪退现象,该用户手机系统(iPhone 6 iOS8.1.2)经查实是由于CoreFoundation系统静态库的引用问题导致。
现象:
iOS在Xcode 7 上真机测试,直接闪退并po出以下信息提示:
错误代码
dyld: Symbol not found:___NSArray0__
Referenced from: /var/mobile/Applications/38806637-DC93-4BCC-9822-F197A5E19333/MosProject.app/MosProject
Expected in: /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
in /var/mobile/Applications/38806637-DC93-4BCC-9822-F197A5E19333/huati.app/MosProject
原因:
因为Xcode8中的库文件是.tdb的,而这个以下的库文件是.dyld,下面提示说可能存在这个CoreFoundation.framework静态库中
解决方法:
在Build Phases-->Link Binary With Libraries中添加CoreFoundation.framework库文件,并设置后面的status 为Optional