Xcode9.1报错处理:Module compiled with Swift 4.0 cannot be imported in Swift 4.0.2

升级到Xcode9.1,编译项目报错:

Module compiled with Swift 4.0 cannot be imported in Swift 4.0.2

这个是因为Swift4.0.2的ABI与Swift4.0不兼容。对于之前的依赖需要重新编译。

解决方法:

  • 重新编译:使用Carthage,cocoapods或手动重新编译相应的依赖
  • 如果不想重新编译,可以安装外部的Swift 4.0 Toolchain, Xcode -> Preferences -> Components -> Toolchains使用Xcode 9.0 swift toolchain 

版权声明:著作权归作者所有。

相关推荐

Swift 4:KeyPath

Swift 4对KeyPath做了很大的改进。改进后的为类型安全的KeyPath。Swift 2的KeyPath示例class Person: NSObject {   var name: String = ""   init(name: 

Swift3/Swift4 转换Html为纯文本

Swift 3或者Swift 4 添加String扩展,把Html字符串转换为纯文本Xcode 9 beta • Swift 4extension String {     var html2AttributedString: NSAttr

禁用Xcode 9的Swift 3 @objc推断

今天我安装了Xcode 9,并将我的项目转换为Swift 4.0。 令人惊讶的是,我的代码只需做很少的改动就可以兼容新的Swift。 然而,构建后出现一个警告:The use of Swift 3 @objc inference in Swift 4 mode