我们在开发过程中经常会遇到需要接入第三方的静态库.a文件,而往往很悲催的事情是这个.a库不支持模拟器,而对方又不提供支持模拟器的新的静态库。可是我们在不使用该功能时又想用模拟器进行调试,那么你可以根据.a库暴露的头文件去实现相应的.m文件,然后再根据是否是模拟器去实现相对应的头文件的所有方法,如下所示:xx.a库暴露了FaceSDKInfo.h头文件,如下所示
@interface FaceSDKInfo : NSObject
-(void)initGlobalVariable;
@end
那么你可以创建一个FaceSDKInfo.m文件,然后对其进行如下的处理,.m文件具体如下所示
#import "PAFaceSDKAPI.h"
#if TARGET_IPHONE_SIMULATOR//模拟器
@implementation FaceSDKInfo
-(void)initGlobalVariable{}
@end
#endif
总结:xcode编译的时候最终要加载的是每个类文件生成的目标.o文件,我们在模拟器的情况下对其进行不做任何处理的实现。