iOS分类方法不能加载和_res_9_getservers错误

封装SDK供项目中其他人员使用时,发现分类文件UIViewController+Observer.m中的方法一直无法加载,但是其他.m类文件中的方法可以正常使用。查阅资料后,发现需要对Xcode进行配置。

选中项目->Targets->Build Settings->Other Linker Flags ->添加(-ObjC,-all_load)
iOS分类方法不能加载和_res_9_getservers错误_第1张图片
配置

添加-ObjC参数可以保证引用项目中引用的类添加分类;
添加-all_load参数后,不管本项目中是否引用类,都会把.framework和.a中的分类方法加载到本项目中。

编译过程中,偶尔会出现下面的错误:

Undefined symbols for architecture x86_64:
  "_res_9_getservers", referenced from:
      getdnssvraddrs(std::__1::vector >&)

仔细检查后,由于缺少支持库libresolve.9.tbd,添加即可解决。

希望帮助到遇到同样问题的小伙伴。

关注和喜欢都是对我的鼓励和支持~

你可能感兴趣的:(iOS分类方法不能加载和_res_9_getservers错误)