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

如果你用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,因为高版本的编译器的一些东西低版本可能不具备,这样你用高版本打出来的包到了低版本的客户那里也报找不到新特性的一些错误。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容