选择运行到低版本模拟器时崩溃dyld: Symbol not found: ___NSArray0__

XCode中安装了低版本模拟器
一、选择低版本模拟器运行时崩溃:
dyld: Symbol not found: _NSArray0
Referenced from: ......

原因:ios9以上库文件是tbd,ios8的 dyld文件,找不到库文件报错!
解决办法就是添加CoreFoundation框架,选项改为Optional就可以了


2655527-1b77eafa5e8d7579.png
CoreFoundation的解决办法.png

二、选择低版本模拟器奔溃报错:
dyld: lazy symbol binding failed: Symbol not found: _objc_unsafeClaimAutoreleasedReturnValue Referenced from: xxxx/lib/libobjc.A.dylib

原因:这个报错是因为某个SDK里面支持的版本低于项目设置的版本,解决它分2步:
第一步:将项目里面版本设置为模拟器系统或以下版本


2655527-5e2e5b7c91049233.png
屏幕快照 2019-01-25 下午4.47.01.png

第二步:看自己的哪个SDK里面是支持的系统版本是高于模拟器的,需要设置项目为SDK支持的最低版本;或者是自己导入的SDK是支持这个系统版本的,但是cocoapods里面Podfile设置的版本高于模拟器版本也会导致。这个时候需要改Podfile了,例如:

 platform :ios, '8.0'

猜你喜欢

转载自blog.csdn.net/weixin_34111790/article/details/86808381