gpt4 book ai didi

ios - 编译问题 : Incompatibility of Swift versions between two packages

转载 作者:行者123 更新时间:2023-11-28 12:29:20 24 4
gpt4 key购买 nike

我必须编辑一个由不再参与项目的人开发的 iOS 应用。

他给了我应用程序的源代码,但我无法编译它。我使用的是 xcode。

iOS 项目包含 2 个包:

  • MAIN:包含用 Swift 3.0.1 编写的应用程序
  • PODS :包含用 swift 2.3 编写的应用程序使用的库

我更改了 MAIN.xcodeproj 的“build设置”:在“Swift Compiler - Version”中,我将“Use Legacy Swift Language version”更改为“No”在 PODS.xcodeproj 中,我将此设置设置为"is"

当我尝试构建项目时,出现以下问题:

Contact.swift:10:8: Module compiled with Swift 2.3 cannot be imported in Swift 3.0.1: JSONCodable.swiftmodule

当我按照 stackoverflow 中其他帖子的建议更改“Swift 编译器 - 版本”时,我更改了“使用旧版 Swift 语言版本”将 MAIN.xcodeproj 设置为"is",我收到很多兼容性错误,例如:

/MAIN/Model/Data.swift:55:1: Type 'Data' does not conform to protocol 'Storable'

我尝试了“使用旧版 Swift 语言版本”的所有可能值,但没有成功。我还尝试在仅包含“3.0.1”的根文件夹中添加一个“.swift-version”文件,但没有成功。

我试图在我的 podfile 中添加这一行:

 config.build_settings['SWIFT_VERSION'] = '3.0.1'

但是也没用。

我尝试重新安装 cocaopods 但没有任何改变。

如何将用 swift 2.3 编写的库导入用 swift 3.0.1 编写的项目?

谢谢

最佳答案

Swift 尚不支持在使​​用不同版本编译的应用程序中使用以一种语言版本编译的包。您必须重写其中之一,以便它们都使用相同的版本。

这需要 swift ABI 稳定,这将在 swift 版本 4 中实现,但现在已被推迟。

关于ios - 编译问题 : Incompatibility of Swift versions between two packages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42529275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com