目标 C 项目中的 Xcode 8.3 Swift 版本错误 (SWIFT_VERSION)
Posted
技术标签:
【中文标题】目标 C 项目中的 Xcode 8.3 Swift 版本错误 (SWIFT_VERSION)【英文标题】:Xcode 8.3 Swift Version Error (SWIFT_VERSION) In Objective C Project 【发布时间】:2017-04-05 19:29:58 【问题描述】:我在纯 Objective C 项目中使用 Xcode 8.3 时遇到以下错误。
我无法找到解决方案,我的构建设置中没有 swift 参数,我也无法在线找到任何解决方案。
有什么想法吗?几天前这还不错,我能看到的唯一区别是 xcode 更新了。
"Swift Language Version" (SWIFT_VERSION) is required to be configured correctly for targets which use Swift. Use the [Edit > Convert > To Current Swift Syntax…] menu to choose a Swift version or use the Build Settings editor to configure the build setting directly.
【问题讨论】:
您在使用核心数据吗?解决方案在这里。 ***.com/questions/38446097/… 谢谢,但这个问题很久以前就解决了。不过还是感谢您的帮助! 【参考方案1】:因此,解决此问题的方法是转到构建设置并单击左上角的 + 图标(如下面的屏幕截图所示)。然后选择添加带有SWIFT_VERSION
和3.0
值的用户定义参数。构建应用程序,它应该可以正常运行。
我还在我的 Pod 文件中添加了以下内容,以自动对 pod 依赖项构建设置执行相同的过程,尽管仅此一项并不能解决问题:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.0'
end
end
end
【讨论】:
我猜你也可以创建一个随机的*.swift
文件,因为这应该会显示 Swift 设置。
我强烈建议不要在生产环境中这样做。代码库是纯粹的 Objective C 是有原因的。如果一个大型开发团队正在处理该项目,很可能有人会删除看似毫无意义的.swift
文件。更不用说这将是不好的做法。由于它的依赖关系是用 swift 编写的,因此引入了该错误。这将是解决问题的正确方法。但是谢谢你的想法:)
我的意思是创建然后删除文件。我相信创造的行为会启用设置。
抱歉,我现在和你在一起。是的,我想这也可能是一种选择,我个人认为添加一个所需的设置不太“矫枉过正”,但这可能只是个人喜好。
如果我们删除那个swift文件,swift版本设置就消失了。【参考方案2】:
在 Project Navigitor 下点击 On Pods Project,然后去 build settings 搜索 swift_version 然后将 swift 语言版本更改为 Swift 4.0
Pods>BuildSettings>Swift 语言版本>Swift 4.0
【讨论】:
以上是关于目标 C 项目中的 Xcode 8.3 Swift 版本错误 (SWIFT_VERSION)的主要内容,如果未能解决你的问题,请参考以下文章
Socket.IO 错误:zlib 没有这样的模块(Swift 3,Xcode 8.3)
Xcode 8.3 和 Swift 3:在 UICollectionView 中的单元格中显示图像,从 URL 获取并存储在 NSMutableArray