使用Swift 3.0编译的模块不能在Swift 2.3中导入
这就是我所做的:
import BSTableViewReorder
并得到以下错误:
使用Swift 3.0编译的模块不能在Swift 2.3中导入
我能做些什么来编译它? 我做了:
Edit > Convert -> Current Swift Syntax
使用Xcode 8和macOS Sierra。
对于两个:目标和项目我有以下设置Use Legacy Swift Language Version
该项目是我codapods依赖关系的荚。 我只是将项目转换为Swift 3.0,但不能编译。
您需要将Use Legacy Swift Language Version
更改为NO
– 这确保您的项目将使用swift 3。
如果你想打包你的项目作为POD(对于cocoapods),你需要添加一个名为.swift-version的文件(包含1个单行,“3.0”)。 这将告诉cocoapods使用swift 3编译器。
一切都应该在这个变化后工作。
如果您使用任何第三方框架,只需更新一次Xcode 8.1,并将使用旧版Swift语言版本更改为NO。
在我的情况下,框架开发人员在用于Podfile
的代码中添加了这一行:
config.build_settings['SWIFT_VERSION'] = '2.3' # or '3.0'
正如你所看到的,他们默认为“2.3”,由于我运行的是3.0,所以导致了问题。 简单地删除'2.3' # or
让'3.0'
解决这个问题。
如果上述build议不起作用,请尝试删除〜Library / Developer / Xcode / DerivedData