- 前提:自身SDK中引入了GMSSL国密静态库(必须要有且OpenSSL不能替代),项目中另外一个SDK中引入了OpenSSL静态库,编译报错,符号冲突。
- 解决方案:自身SDK隐藏全部符号,只暴露需要暴露的类和API
- Xcode相关设置:
- Xcode - build setting-搜索hidden:把Symbols Hidden by Default设置Yes
2.在target的build setting里搜索prelink,将Perform Single-Object Prelink置为
Yes,然后把该工程需要的库都直接拖到Prelink libraries中。
3.设置 post process
将Deployment Postprocessing置为Yes。
4.设置需要暴露的class