美文网首页
手动导入SDK等包的建议

手动导入SDK等包的建议

作者: younger_times | 来源:发表于2020-10-30 00:40 被阅读0次

    项目中我们常常会遇到需要手动导入的SDK,这些SDK没有pod的导入方法是很麻烦的,比如添加手动微信的第三方时,需要添加各种依赖

    image.gif
    或者导入的包中又大量的C++和C写的库,往往会导致项目报很多错误,我们第一时间就是去百度报错的原因,然后跟着百度走,这往往有时候会把你带偏,导致项目报错一个接着一个,感觉永远都改不完似的。

    其实最快捷的方法就是看它的demo,你可以先整体预览一下导入SDK的文档,然后对照着demo的设置方法一个个设置,毕竟demo能正常运行,说明它的所有设置和导入依赖都是正确的。

    我自己很典型的例子:

    一个银行的SDK需要导入,它里面有很多的C/C++写的Lib,当发生C导入错误时,首先报错的原因是
    Implicit declaration of function 'RSA_free' is invalid in C99
    百度最靠前的解决方法是:

    1. Build Setting>>>C Language Dialect,然后选择GNU99[-std=gnu99]
    2. Build Setting>>>Architectures>>>Vaild Architectures,然后把arm64和armv7s去掉
    3. Build Setting>>>Architectures>>>Build Active Architecture Only,把Debug的YES改为NO。
    4. Build Phases>>>Compile>>>找到对应的文件 添加-fno-objc-arc

    虽然报错的条目少了,但又有新的报错原因,然后又百度,我就弄了一早上的问题,还是没有解决。

    被逼无奈,回滚项目,然后去看了demo里怎么回事,最后发现demo里并没有这么设置。也没有更改C Language Dialect等上面提到过的东西。

    于是我就对着demo的Build SettingsBuild Phases一个个查看对照,最终稀里糊涂的编译时通过。这让我感到意外,从看demo改所花费的时间仅仅只有几分钟时间,和花了一早上的时间比起来,真的是很快。

    相关文章

      网友评论

          本文标题:手动导入SDK等包的建议

          本文链接:https://www.haomeiwen.com/subject/myrrvktx.html