SWIFT4.2出现了,在我的项目中,当使用ObjectMapper和其他一些豆荚时,我也会收到这个错误消息:
使用Swift 4.1.2编译的模块无法在Swift 4.1.50中导入
那么,我如何告诉Xcode开始更新我的项目并将其迁移到SWIFT4.2?
发布于 2018-06-10 18:21:11
在Swift 4.2中,隐式解封可选(IUO)的实现发生了变化,这与swift博客现在隐式解除包装可选T!会被认为是T?和额外的标志,使编译器知道它是一个隐式解包可选。
宫内节育器的新精神模型就是你所考虑的!作为?的同义词?加上它在声明中添加了一个标志,让编译器知道声明的值可以隐式地展开。
由于这一更改,可能会出现一些源代码兼容性问题,可能需要您修改代码才能成功编译。
在Swift 3中,像var a: Int这样的声明?将导致有类型可选,以及像var b: String这样的声明!会导致b有ImplicitlyUnwrappedOptional型。它在SWIFT4.2中发生了变化,因此它对Xcode 10的ObjectMapper显示错误--它附带了快速4.2,对于Xcode 10也做了类似的实现。
在Objectmapper库中,有一些函数声明,这些声明在前面显示了WASTIVE4.1的警告,现在显示为for 4.2的错误。有关Xcode 9.4和Swid4.1中的警告,请参阅下面的图像

有一些关于ObjectMapper GitHub回购的请求,它已经解决了这个问题,但是他们正在等待新的Xcode beta版本,因为它使用的是最近被接受的编者指令特性,它将与新的Xcode beta一起发布。
更新:解决了ObjectMapper 3.3.0版本.中的问题
发布于 2018-07-18 18:35:50
您没有用适当的快速版本编译您的迦太基模块。所以你需要:
sudo xcode-选择-switch Xcode_beta_10.app
迦太基更新--平台iOS --不使用-二进制文件
发布于 2018-09-24 05:18:42
使用终端在项目目录中运行下面的命令。它会更新你的吊舱。希望它能解决你的问题。
pod update ObjectMapperhttps://stackoverflow.com/questions/50709377
复制相似问题