iOS开发将C++的a文件打包成framework
2020-06-09 本文已影响0人
霍达_69e7
公司要做一套自己的IM通信工具,使用C++来做,这样的话iOS端就需要一个和他们对接的人,把他们的接口转成OC的,这事就落我身上了,不废话,开干。
1.制作a文件:我们这边是直接用的Mac电脑编译的,在Mac电脑上面安装cmake,然后c++的同事使用命令行一顿骚操作打包完成;
2.添加a文件:我这边在xcode中把a文件添加进去,但是有报错:
解决方式:添加libz.tbd库,运行.ok
Tina及
3.打包framework:打包我就不介绍了,大家看这个就可以https://www.jianshu.com/p/b3eaa4d6b0ca,这个小哥哥写的很好,我这边在打包中选择了自己的a文件支持的cpu架构,还有就是需要设置bitcode,看图
4.创建一个新项目测试framework:在这个阶段遇到的坑最大,其实解决方式很简单,将framework拖到项目以后运行直接报错,简直要崩溃了,前面很顺利,到这里直接90多个报错,搞了差不多一天,最后是搜索“___gxx_personality_v0, referenced from:”才找到了解决方式,原来是少了libstdc++.tbd的库,然后我添加到Build Phases->link Binary with Libraries中即可,然后再把libz.tbd添加进来,运行,完事。