微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Swift 5.1编译的模块不能由Swift 5.1.2编译器导入

如何解决使用Swift 5.1编译的模块不能由Swift 5.1.2编译器导入

是的,结果证明如果您观看WWDC视频,他们会对其进行解释:https//developer.apple.com/videos/play/wwdc2019/416/

您需要在框架的构建设置中将“ 的 选项设置为“ ,否则swift编译器不会生成必需的.swiftinterface文件,这是将来编译器能够加载旧库的关键。

最终在您的project.pbxproj文件显示为:

BUILD_LIBRARY_FOR_disTRIBUTION = YES;

设置此标志后,我使用Xcode 11.0(swift 5.1)编译的框架可以被Xcode 11.2(swift 5.1.2)使用,并且一切似乎都正常工作。

希望这个问题/答案将为所有未观看所有WWDC视频的人提供有用的参考

如果错误仍然存​​在,请转至 > 然后再次 。

解决方法

我有一个框架(在本例中为RxSwift),已使用Xcode 11.0将其编译为传统RxSwift.framework样式包

这很好地导入了Xcode 11.0和11.1,从没有任何问题

今天,在Apple发布Xcode 11.2时,我进行了升级,并看到以下错误:

使用Swift 5.1编译的模块不能由Swift 5.1.2编译器导入

我曾经习惯过快速编译器不匹配,而且我知道我可以使用Xcode 11.2重新编译RxSwift并继续进行,但是Swift 5.1的头条功能是
模块稳定性

我给人的印象是,既然我们已经有了模块稳定性,那么框架就不需要继续与每个新的Xcode版本一起重新编译,但是事实并非如此。

如果有人能解释这里发生的事情,我将不胜感激。Xcode 11.2是否存在错误?还是我最初用Xcode 11.0编译时需要某种方式告诉它我想要模块稳定性吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。