这就是我的所作所为:
import BSTableViewReorder
并收到以下错误:
使用Swift 3.0编译的模块无法在Swift 2.3中导入
我可以做些什么来让它编译?我做了:
Edit > Convert -> Current Swift Syntax
使用Xcode 8和macOS Sierra。
对于两者:目标和项目我有Use Legacy Swift Language Version
该项目是我对cocoapods依赖项的pod。我刚刚将项目转换为Swift 3.0,但它没有编译。
答案 0 :(得分:27)
您需要将Use Legacy Swift Language Version
更改为NO
- 这样可确保您的项目使用swift 3.
如果您想将项目打包为POD(对于cocoapods),您需要添加名为.swift-version的文件(包含1个单行," 3.0")。 这将告诉cocoapods使用swift 3编译器。
在此更改后,一切都应该有效。
答案 1 :(得分:0)
如果您正在使用任何第三方框架,只需为Xcode 8.1更新一次,并将使用旧版Swift语言版本更改为NO。
答案 2 :(得分:0)
就我而言,框架开发人员在代码dotnet watch run
中添加了这一行:
Podfile
正如您所看到的,他们违反了2.3'#,这导致了问题,因为我运行的是3.0。只需删除config.build_settings['SWIFT_VERSION'] = '2.3' # or '3.0'
并让'2.3' # or
解决问题。