我正在尝试从应用程序下载运行,尝试在 Xcode 中打开并出现错误:
“显示最近的消息
:-1:不支持 SWIFT_VERSION '3.0',支持的版本是:4.0、4.2、5.0。(在目标 'SimpleWeather' 中)”
在项目中选择目标“SimpleWeather”并更改语言版本目标->构建设置-> Swift编译器语言->选择5、4.2等
我按照此页面上的说明进行操作,但错误未解决。最后,走进
$ vim MyProject.xcodeproj/project.pbxproj
并找到了两个实例
SWIFT_VERSION = 3.0;
仍然被引用。我将它们更改为 5.0 并且错误消失了。不知道为什么那两个还在。
在您的情况下,该应用程序似乎可能有一个旧的 Swift 版本代码,如 Swift 3.0。在 Xcode 10.2 版本的发布中已经推出了 Swift 5.0 版本。Xcode 10.2 不支持 Swift 3.0 版本的编译器。您可以从Build Settings -> Swift Compiler - Language -> Swift Language Version -> Change it to Swift 5
. 如果您的代码与该语言版本兼容,那么它将运行代码而不会出错。
但是,Swift 5 编译器将不支持 Swift 3 兼容模式。Swift 4.2 是最后一个支持 Swift 3 模式的 Swift 版本。在 Swift 3 之后的版本中,语言的表面和实现的内部都发生了重要变化,这将成为未来(和持久)源代码和二进制稳定性的基础。
有关更多详细信息,请参阅下面的链接。 https://developer.apple.com/documentation/xcode_release_notes/xcode_10_2_release_notes/swift_5_release_notes_for_xcode_10_2
如果您真的希望运行具有较旧 Swift 版本代码的应用程序,则必须使用较旧版本的 Xcode。您可以使用 Xcode 10.1 版本,它的编译器支持 Swift 3.0 版本。
另一种替代方法是将旧的 Swift 代码迁移到 Swift 版本的新版本。您可以在 Xcode 10.1 版本中将 Swift 3.0 迁移到 Swift 4.0。
有关迁移指南,请参阅此 https://swift.org/migration-guide-swift4/
我打开了文件MyProject.xcodeproj
(使用 VSCode 编辑器)
我发现了一些行
SWIFT_VERSION = 3.0;
(大约在第 400 行,上面写着/* Begin XCBuildConfiguration section */
)
修改为 SWIFT_VERSION = 5.0 或其他。之后,我能够构建并运行该项目。
我在开发 Cocoapod 时遇到了这个问题。.swift-version
我的仓库中有一个指定 Swift 3.0的旧文件。
跑步pod lib lint --verbose
让我得到了这个有用的回应:
请删除
.swift-version
现在已弃用的文件,并仅swift_version
在您的 podspec 中使用该属性。
我删除了该文件并添加spec.swift_version = '5.0'
到我的 podspec 文件中以解决问题。
如果您像我一样有多个 pod 文件,并且您在查找 SWIFT_Version = 3.0 的 pod 时遇到问题,请尝试搜索栏
我们可以使用安装 Cocoapods 的安装后挂钩来自动执行此操作。
将此添加到您的Podfile
:
..
pod 'Alamofire' # Just an example for the last pod in list.
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '5.0'
end
end
end
end
如果你有很多Pods
as 依赖项,这个钩子会很有帮助,因为我们不需要手动更改每个 pod 的构建设置。但是,如果某些 pod 尚不支持 Swift 5,请务必按照前面的答案中所述手动将其更改为 4.0 或 4.2。
1)在 podfile 上更改 pod 的版本(因为库写了旧的 swift 版本)
2)终端上的“pod install”
我是 iOS 开发的新手。在我遵循上述所有答案后,我仍然遇到同样的错误。我使用的是 Xcode 11,我从Apple Developer网站下载了“ FoodTracker ”示例,在尝试构建它后我得到了同样的错误。发现项目文件内容在vim后有几个参考Swift语言版本的设置。因此,我通过首先将“项目 > FoodTracker”以及“TARGETS > FoodTracker”和“TARGETS > FoodTrackerTests”的 Swift 语言版本设置为 5.0 来解决这个问题。希望能帮助到你。
请确保您的 pod 版本与您的 swift 版本兼容。当我安装了错误版本的 pod(swift 2.3)时,我遇到了这个问题,但我使用的是 swift 4