iOS - 是否可以在一个项目中合并 Swift 3 和 Swift 4 代码?
iOS - Is possible to combine Swift 3 and Swift 4 code within one project?
我有一个使用大量第 3 方库的项目 (Xcode 9)。其中一些写在 Swift 3(仅)中,另一些写在 Swift 4(仅)中。
Build Settings > Swift
中有一个选项允许选择版本 3 或版本 4,因此只有 "one half" 代码有效。
有没有办法在一个项目中同时使用两个版本?
或者是否有一些 "automatic code converter" 能够将 Swift 3 代码转换为 Swift 4 标准?
将您的 swift 3 代码转换为 swift 4,您的代码将按预期工作。
Xcode 可能会建议您将代码转换为 swift 4.
如果您使用 CocoaPods 来管理您的第 3 方依赖项,那么可以。 Swift 版本可以在 pod 项目的 pod 目标的 Build Settings 中设置。
所以你可以有一个应用程序 运行 Swift 4 使用为 Swift 3.2 构建的库很好。
如果您要将第 3 方库添加到您的主项目中,那么这可能是不可能的,尽管您可以将这些库提取到他们自己的项目(或私有 cocoapods)中并添加到您的工作区并设置 Swift 每个单独的版本
和 Xcode 应该有一个警告,提示您转换为 Swift 4,您可以单击它,应该 将您的项目转换为 Swift 4 自动,但您最终可能不得不手动修复一些 warnings/errors
我有一个使用大量第 3 方库的项目 (Xcode 9)。其中一些写在 Swift 3(仅)中,另一些写在 Swift 4(仅)中。
Build Settings > Swift
中有一个选项允许选择版本 3 或版本 4,因此只有 "one half" 代码有效。
有没有办法在一个项目中同时使用两个版本?
或者是否有一些 "automatic code converter" 能够将 Swift 3 代码转换为 Swift 4 标准?
将您的 swift 3 代码转换为 swift 4,您的代码将按预期工作。
Xcode 可能会建议您将代码转换为 swift 4.
如果您使用 CocoaPods 来管理您的第 3 方依赖项,那么可以。 Swift 版本可以在 pod 项目的 pod 目标的 Build Settings 中设置。
所以你可以有一个应用程序 运行 Swift 4 使用为 Swift 3.2 构建的库很好。
如果您要将第 3 方库添加到您的主项目中,那么这可能是不可能的,尽管您可以将这些库提取到他们自己的项目(或私有 cocoapods)中并添加到您的工作区并设置 Swift 每个单独的版本
和 Xcode 应该有一个警告,提示您转换为 Swift 4,您可以单击它,应该 将您的项目转换为 Swift 4 自动,但您最终可能不得不手动修复一些 warnings/errors