現有項目是早期Xcode7編寫的,一直到現在還是使用Xcode7編寫。近期一位用戶手機下載App出現閃退現象,該用戶手機系統(iPhone 6 iOS8.1.2)經查實是由于CoreFoundation系統靜態庫的引用問題導致。
現象:
iOS在Xcode 7 上真機測試,直接閃退并po出以下信息提示:
20151222094602843.png
錯誤代碼
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
2017010094602843.png