封装SDK供项目中其他人员使用时,发现分类文件UIViewController+Observer.m中的方法一直无法加载,但是其他.m类文件中的方法可以正常使用。查阅资料后,发现需要对Xcode进行配置。
选中项目->Targets->Build Settings->Other Linker Flags ->添加(-ObjC,-all_load)
添加-ObjC参数可以保证引用项目中引用的类添加分类;
添加-all_load参数后,不管本项目中是否引用类,都会把.framework和.a中的分类方法加载到本项目中。
编译过程中,偶尔会出现下面的错误:
Undefined symbols for architecture x86_64:
"_res_9_getservers", referenced from:
getdnssvraddrs(std::__1::vector<socket_address, std::__1::allocator<socket_address> >&)
仔细检查后,由于缺少支持库libresolve.9.tbd,添加即可解决。
希望帮助到遇到同样问题的小伙伴。
关注和喜欢都是对我的鼓励和支持~