iOS使用swift开发SDK遇到的版本冲突问题

https://www.jianshu.com/p/bbe0951f1b0b

 

如果你用Swift开发SDK,你大概会收到类似这样的编译问题Module compiled with Swift 5.3.2 cannot be imported by the Swift 5.5.1 compiler这个问题的解决办法如下

1.在SDK的buildSetting中搜索Build Libraries for Distributio,将其设置为YES
2.你需要用稍微低一点的Swift版本去打包你的SDK。

原理:Swift的编译器一直在更新,一定是向下兼容的,swift5.5肯定是兼容swift5.4、5.3....的。首先Build Libraries for Distributio的作用是让你的打包出来的SDK兼容你当前Swift版本之后的版本,比如你用Swift5.3打包的SDK,客户的Swift版本是Swift5.5,那么你的SDK在他的环境下能完美兼容,如果Build Libraries for Distributio该选项为NO,那么只要你们的版本不同就不能编译就会报编译错误'Module compiled with Swift 5.3.2 cannot be imported by the Swift 5.5.1 compiler.为什么要用低版本打包SDK,因为高版本的编译器的一些东西低版本可能不具备,这样你用高版本打出来的包到了低版本的客户那里也报找不到新特性的一些错误。



作者:Jabne
链接:https://www.jianshu.com/p/bbe0951f1b0b
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2023-02-22 10:03  itlover2013  阅读(390)  评论(0编辑  收藏  举报