开发中,偶尔会遇到部分SDK不支持模拟器,但总不能因为一个三方库而放弃使用模拟器吧,于是,我们需要进行一些适配工作。
首先,在Target -> BuildSettings -> Excluded Source FileNames -> Debug、Release 中添加一行,key选择 Any iOS Simulator SDK,value 中添加报错中提示的 SDK的目录,如下图
WechatIMG52.jpeg
然后,在项目中,引用对应 SDK 头文件,以及使用 SDK 方法的地方添加如下代码判断
#if !TARGET_IPHONE_SIMULATOR
#import "excards.h"
#endif
#if !TARGET_IPHONE_SIMULATOR
ret = EXCARDS_RecoIDCardData(buffer, (int)width, (int)height, (int)rowBytes, (int)8, (char*)pResult, sizeof(pResult));
HLWLog(@"执行EXCARDS_RecoIDCardData");
#endif
这样,代码在编译的时候就不会编译对应的SDK,模拟器和真机都能正常运行。